Android 如何检测应用内购买';活动结果方法的状态
我正在使用静态引用测试应用程序内购买。Android 如何检测应用内购买';活动结果方法的状态,android,in-app-purchase,Android,In App Purchase,我正在使用静态引用测试应用程序内购买。 我使用的是静态参考android.test.purchased,但我不知道如何在我的onActivityResult(…)方法中获得测试购买的响应。 这是我的onActivityResult(..)方法的主体: @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method
我使用的是静态参考
android.test.purchased
,但我不知道如何在我的onActivityResult(…)
方法中获得测试购买的响应。这是我的
onActivityResult(..)
方法的主体:@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
Log.d("In-App", "Data = "+data.toString());
Log.d("In-App", "Request Code = "+requestCode);
Log.d("In-App", "Result Code = "+resultCode);
}
我的日志显示:08-16 10:48:10.114: D/In-App(3889): Data = Intent { (has extras) }
08-16 10:48:10.114: D/In-App(3889): Request Code = 666
08-16 10:48:10.114: D/In-App(3889): Result Code = -1
我的测试购买的屏幕截图:一, 二, 问题是,我应该从我的
onActivityResult(..)
方法中的数据对象中提取哪些额外内容,以检测当前测试购买的状态(取消、已购买、成功接受等)和有关产品的信息(JSON response
)?
非常感谢您的帮助。首先,您需要一个数据库来保存订单。其次,当用户安装应用程序时。您必须发出RESTORE\u TRANSACTIONS
用户购买的内容,并将结果插入本地数据库。你可以读更多
编辑:
有关更多详细信息,请查看我已更新了我的onActivityResult(…)
方法
int responseCode = data.getIntExtra("RESPONSE_CODE", 0);
String purchaseData = data.getStringExtra("INAPP_PURCHASE_DATA");
String dataSignature = data.getStringExtra("INAPP_DATA_SIGNATURE");
if (resultCode == RESULT_OK) {
//Purchased Status = Purchased
try {
//Product Details JSON
JSONObject jo = new JSONObject(purchaseData);
//Purchased Product ID
String sku = jo.getString("productId");
}
catch (JSONException e) {
e.printStackTrace();
}
}
else {
//Purchased Status = Not Purchased
}
通过这种方式,我获得了购买的状态和购买的产品的详细信息JSON
我同意您的数据持久化
和恢复事务
建议。但您还没有回答我的问题。您是否使用应用内计费V3?