当前位置 : 主页 > 手机开发 > android >

android – 如何在活动结果方法中检测应用程序内购买的状态

来源:互联网 收集:自由互联 发布时间:2021-06-11
我正在使用静态参考测试应用程序内购买. 我正在使用静态参考 android.test.purchased但我无法弄清楚如何在我的onActivityResult(…)方法中获得Test Purchase的响应. 这是我的onActivityResult(….)方法
我正在使用静态参考测试应用程序内购买.
我正在使用静态参考 android.test.purchased但我无法弄清楚如何在我的onActivityResult(…)方法中获得Test Purchase的响应.

这是我的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);
}

我的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

我的测试购买的屏幕截图:
1.

2.

问题是,我应该从我的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
     }

这样我就可以获得购买状态和购买产品的详细信息JSON.

网友评论