Sal*_*ani 3 android in-app-purchase
我正在使用静态参考测试应用程序内购买.
我正在使用静态参考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);
}
Run Code Online (Sandbox Code Playgroud)
我的Logcat说:
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
Run Code Online (Sandbox Code Playgroud)
我的测试购买的屏幕截图:
1.

2.

问题是,我应该从Data Object我的onActivityResult(....)方法中提取哪些额外内容,以检测当前测试购买的状态(已取消,已购买,成功接受等)以及有关产品的信息(JSON respnse)?
任何帮助都非常感谢,谢谢.
我更新了我的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
}
Run Code Online (Sandbox Code Playgroud)
这样我就可以获得购买状态和购买产品的详细信息JSON.
| 归档时间: |
|
| 查看次数: |
2027 次 |
| 最近记录: |