有一段时间,Android Pay运行良好。直到最近(5月底),我收到了以下错误。
我引用了公开的Android Pay教程。期间"产品结帐"当用户确认时,我看到请求代码1004和结果代码1 ,并调用以下内容:
public void onActivityResult(int requestCode, int resultCode, Intent data) {
switch(requestCode) {
case FullWalletConfirmationButtonFragment.REQUEST_CODE_RESOLVE_LOAD_FULL_WALLET:
Fragment fragment = getResultTargetFragment();
if (fragment != null) {
fragment.onActivityResult(requestCode, resultCode, data);
这将调用FullWalletConfirmationFragment:
public void onActivityResult(int requestCode, int resultCode, Intent data) {
int errorCode = -1;
if (data != null) {
errorCode = data.getIntExtra(WalletConstants.EXTRA_ERROR_CODE, -1);
}
switch (requestCode) {
case REQUEST_CODE_RESOLVE_LOAD_FULL_WALLET:
switch (resultCode) {
case Activity.RESULT_OK:
break;
case Activity.RESULT_CANCELED:
break;
default:
handleError(errorCode);
break;
resultCode的值为1,这对我来说很奇怪。这引用了 Activity.RESULT_FIRST_USER (1)。这到底是什么?无论如何,这会调用handleError(),其中错误代码为10 !
我不知道错误代码10是什么。查看 WalletConstants 类,错误代码10不存在。
任何帮助将不胜感激。这是我最新的环境:
compileSdkVersion 23
buildToolsVersion '23.0.2'
defaultConfig {
minSdkVersion 14
targetSdkVersion 21
**gradle**
google-services:3.0.0
com.google.android.gms:play-services:+ // Appears to reference 9.0.0 which became available in May
**wallet environment**
I've tried Sandbox Environment, Strict Sandbox Environment, and Test Environment.
答案 0 :(得分:0)
按照以下步骤配置您的应用以进行制作:
完成整合路径后,download our Android
Pay API checklist并针对它审核您的应用
如果您已启用预授权,generate a client ID for production(除非您已拥有现有客户端ID) 生产应用程序,在您的Android Pay集成之前发布)。 请注意,生产客户端ID是必需的,即使您是 之前为开发设置了客户端ID。
确保您的APK使用发布密钥签名,而不是 您在测试环境中使用的调试密钥。调试密钥不起作用 在生产环境中。
将WalletOptions环境参数设置为 WalletConstants.ENVIRONMENT_PRODUCTION。