我正在使用版本3 Billing API实现订阅结算。支付对话框关闭后(付款成功),控制返回到我的活动在应用程序结算API v3中,当调用onActivityResult时,INAPP_PURCHASE_DATA为空值
调用方法
String payload = UUID.randomUUID().toString();
bundle = mService.getBuyIntent(3, getPackageName(), mProduct, "subs", payload);
int responseCode = bundle.getInt("RESPONSE_CODE");
if (responseCode == 0) {
PendingIntent pendingIntent = bundle.getParcelable("BUY_INTENT");
startIntentSenderForResult(pendingIntent.getIntentSender(), 1001, new Intent(), Integer.valueOf(0), Integer.valueOf(0), Integer.valueOf(0));
} else if (responseCode == 1) {
mErrorMessage.setText(getResources().getString(R.string.purchase_cancelled));
mErrorMessage.setVisibility(View.VISIBLE);
} else if (responseCode == 7) {
mErrorMessage.setText(getResources().getString(R.string.payment_twice));
mErrorMessage.setVisibility(View.VISIBLE);
} else {
mErrorMessage.setText(getResources().getString(R.string.payment_general_error));
mErrorMessage.setVisibility(View.VISIBLE);
}
我的活动
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == Activity.RESULT_OK) {
// Null
String purchaseData = data.getStringExtra("INAPP_PURCHASE_DATA"
}
}
的问题是,购买数据字符串为空。这可能是因为我已经购买了这个订阅(测试时是100万次) - 而且我应该先用getPurchases()进行检查。
购买是否被称为“经历 - 显然成功”,如果用户试图支付他或她是1)当前用户,或2)在取消之后但服务到期之前的期间?
发布你的调用方法 –
我也发布了调用方法 –
我有同样的问题与android.test.purchased ....试图通过使用沙箱实现真正的产品和测试....我认为与android。 test.purchased你总是得到空...... –