我正在我的应用中实施 Google 应用内购买。我从谷歌端下载了代码并在我的应用程序中运行它。我第一次收到“签名验证失败”的错误时,我通过在发布版本中构建我的应用程序来解决它,对其进行签名并将其作为未发布的应用程序发布在 Google android 市场上。现在,当我购买应用程序并按下接受按钮并购买它时,我收到了响应,但数据未存储在 onPurchseState 中。该应用程序再次提供了下载此应用程序的信息,您必须购买它。任何帮助将不胜感激。这是详细代码
我从 onClick 方法调用 requestPurchase(String productId, String payload) 。
@Override
public void onClick(View view) {
if(view == requestPurchaseButton) {
mBillingService.requestPurchase("android.test.purchased", "10");
}
}
回调方法 onRequestPurchaseResponse(Request, ResponseCode) 被调用。这里的 responseCode 给出了 RESULT_OK 的值。所以请求已经发送到服务器。
@Override
public void onRequestPurchaseResponse(RequestPurchase request,
ResponseCode responseCode)
{
if(responseCode == ResponseCode.RESULT_OK) {
Log.d("My APP", "onRequestPurchaseResponse.ResponeCode.RESULT_OK");
} else if(responseCode == ResponseCode.RESULT_USER_CANCELED) {
} else {
}
}
但是回调方法
@Override
public void onPurchaseStateChange(PurchaseState purchaseState,
String itemId, int quantity, long purchaseTime,
String developerPayload) {
Log.d("PucrchedState", "onPurchaseStateChanged");
}
永远不会被调用。