Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 总是得到';结果代码';';的onActivityResult()方法中的值1;保存到谷歌支付';_Android_Android Pay - Fatal编程技术网

Android 总是得到';结果代码';';的onActivityResult()方法中的值1;保存到谷歌支付';

Android 总是得到';结果代码';';的onActivityResult()方法中的值1;保存到谷歌支付';,android,android-pay,Android,Android Pay,我正在我的Android应用程序中实现“保存到谷歌支付”功能。由于我以前没有使用过它,因此我将遵循以下步骤来实现此功能。但是,在onActivityResult()方法中,我总是得到的'resultCode'值1。下面是我的示例代码-- 希望你能理解我的问题。另外,请让我知道,如果我可以提供更多的细节相同。多谢各位 public class GooglePayActivity extends AppCompatActivity { static final int SAVE_TO_AND

我正在我的Android应用程序中实现“保存到谷歌支付”功能。由于我以前没有使用过它,因此我将遵循以下步骤来实现此功能。但是,在onActivityResult()方法中,我总是得到的'resultCode'值1。下面是我的示例代码--

希望你能理解我的问题。另外,请让我知道,如果我可以提供更多的细节相同。多谢各位

public class GooglePayActivity extends AppCompatActivity
{
    static final int SAVE_TO_ANDROID = 8888;
    TextView tvGooglePayStatus;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_google_pay);


        Button btnGPay = (Button) findViewById(R.id.btnGPay);
        tvGooglePayStatus = (TextView) findViewById(R.id.tvGooglePayStatus);

        btnGPay.setOnClickListener(new View.OnClickListener()
        {
            @Override
            public void onClick(View view)
            {
                tvGooglePayStatus.setText("");

                // Define Text Module Data
                List textModulesData = new ArrayList();
                TextModuleData textModuleData = new TextModuleData("Details", "20% off one coffee beverage." +
                        "Offer valid 30 days from date of issue.  Not applicable with other offers.  Offer" +
                        " must be presented at time of purchase.  Offer not valid on non coffee based beverages");
                textModulesData.add(textModuleData);

                // Define Links Module Data
                List uris = new ArrayList();
                UriData uri1 = new UriData("http://www.baconrista.com/myaccount?id=1234567890","My Baconrista account");
                uris.add(uri1);

                List imageUris = new ArrayList();
                UriData uri2 = new UriData("http://farm4.staticflickr.com/3738/12440799783_3dc3c20606_b.jpg", "Image Description");
                imageUris.add(uri2);

                // Define Info Module
                List row0cols = new ArrayList();
                LabelValue row0col0 = new LabelValue("Next Reward in","2 coffees");
                LabelValue row0col1 = new LabelValue("Member Since", "01/15/2013");
                row0cols.add(row0col0);
                row0cols.add(row0col1);

                List row1cols = new ArrayList();
                LabelValue row1col0 = new LabelValue("Local Store", "Mountain View");
                row1cols.add(row1col0);

                List rows = new ArrayList();
                LabelValueRow row0 = LabelValueRow.newBuilder().addColumns(row0cols).build();
                LabelValueRow row1 = LabelValueRow.newBuilder().addColumns(row1cols).build();

                rows.add(row0);
                rows.add(row1);

                // Define general messages
                List messages = new ArrayList();
                WalletObjectMessage message =  WalletObjectMessage.newBuilder()
                        .setHeader("Hi Jane!")
                        .setBody("Thanks for being a great customer.")
                        .build();
                messages.add(message);

                // Define Geolocations

                LatLng location = new LatLng(37.422601, -122.085286);

                List locations = new ArrayList();
                locations.add(location);
                Date time = new Date();

                OfferWalletObject wob = OfferWalletObject
                        .newBuilder()
                        /*.setClassId("3002594094318918306.aba41620-9c78-11e8-94fd-d1d5993cb4ff8.OfferClass")
                        .setId("3002594094318918306.aba41620-9c78-11e8-94fd-d1d5993cb4ff8.OfferObject")*/

                        .setClassId("2951238800106304306.OfferClassMonster3")
                        .setId("2951238800106304306.OfferTestObject1")
                        .setState(WalletObjectsConstants.State.ACTIVE)
                        .setIssuerName("Baconrista")
                        .setTitle("20% off coffee")
                        .setValidTimeInterval(new TimeInterval(time.getTime(), time.getTime() + 144000000L))
                        .setBarcodeType("qrCode")
                        .setBarcodeValue("28343E3")
                        .setBarcodeAlternateText("12345")
                        .addTextModulesData(textModulesData)
                        .addLinksModuleDataUris(uris)
                        .addInfoModuleDataLabelValueRows(rows)
                        .addImageModuleDataMainImageUris(imageUris)
                        .addMessages(messages)
                        .addLocations(locations)
                        .build();


                CreateWalletObjectsRequest request = new CreateWalletObjectsRequest(wob);
                Wallet.WalletOptions walletOptions = new Wallet.WalletOptions.Builder()
                        .setTheme(WalletConstants.THEME_LIGHT)
                        .setEnvironment(WalletConstants.ENVIRONMENT_PRODUCTION)
                        .build();

                WalletObjectsClient walletObjectsClient = Wallet.getWalletObjectsClient(GooglePayActivity.this, walletOptions);
                Task task = walletObjectsClient.createWalletObjects(request);
                AutoResolveHelper.resolveTask(task, GooglePayActivity.this, SAVE_TO_ANDROID);
            }
        });
    }


    public void onActivityResult(int requestCode, int resultCode, Intent data)
    {
        switch (requestCode)  
        {
            case SAVE_TO_ANDROID:
                switch (resultCode)  // Here I'm always getting "resultCode=1"
                {
                    case Activity.RESULT_OK:
                        tvGooglePayStatus.setText("saved");
                        break;
                    case Activity.RESULT_CANCELED:
                        tvGooglePayStatus.setText("canceled");
                        break;
                    default:
                        int errorCode =
                                data.getIntExtra(
                                        WalletConstants.EXTRA_ERROR_CODE, -1);
                        tvGooglePayStatus.setText("failed error code: " + errorCode);
                        break;
                }
        }
    }
}