android还原事务在退出后继续关闭应用程序
我根据地下城示例使用代码。除了一件事,一切都很好。问题是恢复事务。当我以与示例中相同的方式调用restore事务时,一切似乎都很好。看起来他没有出错。但我等了3到10分钟,这足够我从谷歌服务器上获取EOS了。但是没有回应…我不知道我做了什么 这是我用于恢复传输的代码android还原事务在退出后继续关闭应用程序,android,transactions,restore,in-app-billing,Android,Transactions,Restore,In App Billing,我根据地下城示例使用代码。除了一件事,一切都很好。问题是恢复事务。当我以与示例中相同的方式调用restore事务时,一切似乎都很好。看起来他没有出错。但我等了3到10分钟,这足够我从谷歌服务器上获取EOS了。但是没有回应…我不知道我做了什么 这是我用于恢复传输的代码 mBillingService.restoreTransactions(); public boolean restoreTransactions() { return new RestoreTransactions()
mBillingService.restoreTransactions();
public boolean restoreTransactions() {
return new RestoreTransactions().runRequest();
}
class RestoreTransactions extends BillingRequest {
long mNonce;
public RestoreTransactions() {
// This object is never created as a side effect of starting this
// service so we pass -1 as the startId to indicate that we should
// not stop this service after executing this request.
super(-1);
}
@Override
protected long run() throws RemoteException {
mNonce = Security.generateNonce();
Log.d("running", "running restore request");
Bundle request = makeRequestBundle("RESTORE_TRANSACTIONS");
request.putLong(Consts.BILLING_REQUEST_NONCE, mNonce);
Bundle response = mService.sendBillingRequest(request);
logResponseCode("restoreTransactions", response);
return response.getLong(Consts.BILLING_RESPONSE_REQUEST_ID,
Consts.BILLING_RESPONSE_INVALID_REQUEST_ID);
}
@Override
protected void onRemoteException(RemoteException e) {
super.onRemoteException(e);
Security.removeNonce(mNonce);
}
@Override
protected void responseCodeReceived(ResponseCode responseCode) {
ResponseHandler.responseCodeReceived(BillingService.this, this, responseCode);
}
}
事实上这和地下城的样本是一样的。但我没有得到任何回应。但是如果我想买一件东西,没有问题。
有人知道如何解决这个问题吗?我正在收到关于购买的回复,但没有关于恢复的回复
毕竟,如果我完成了我的意图并完成了我的应用程序,那么就会出现以下错误。似乎在应用程序结束后才有响应。它不会在跑步时出现,而是在完成所有意图后出现
另一件奇怪的事情是,在destroy上,我正在为计费解除服务和上下文的绑定。那么事实上,这是否应该被称为?我想没有
有人知道如何解决这个问题吗?
提前谢谢
在下面记录cat错误
12-24 01:33:06.212: E/AndroidRuntime(27721): FATAL EXCEPTION: main
12-24 01:33:06.212: E/AndroidRuntime(27721): java.lang.RuntimeException: Unable to start service .BillingService@40da8db0 with null: java.lang.NullPointerException
12-24 01:33:06.212: E/AndroidRuntime(27721): at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2749)
12-24 01:33:06.212: E/AndroidRuntime(27721): at android.app.ActivityThread.access$1900(ActivityThread.java:139)
12-24 01:33:06.212: E/AndroidRuntime(27721): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1335)
12-24 01:33:06.212: E/AndroidRuntime(27721): at android.os.Handler.dispatchMessage(Handler.java:99)
12-24 01:33:06.212: E/AndroidRuntime(27721): at android.os.Looper.loop(Looper.java:156)
12-24 01:33:06.212: E/AndroidRuntime(27721): at android.app.ActivityThread.main(ActivityThread.java:4987)
12-24 01:33:06.212: E/AndroidRuntime(27721): at java.lang.reflect.Method.invokeNative(Native Method)
12-24 01:33:06.212: E/AndroidRuntime(27721): at java.lang.reflect.Method.invoke(Method.java:511)
12-24 01:33:06.212: E/AndroidRuntime(27721): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
12-24 01:33:06.212: E/AndroidRuntime(27721): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
12-24 01:33:06.212: E/AndroidRuntime(27721): at dalvik.system.NativeStart.main(Native Method)
12-24 01:33:06.212: E/AndroidRuntime(27721): Caused by: java.lang.NullPointerException
12-24 01:33:06.212: E/AndroidRuntime(27721): at .BillingService.handleCommand(BillingService.java:431)
12-24 01:33:06.212: E/AndroidRuntime(27721): at .BillingService.onStart(BillingService.java:421)
12-24 01:33:06.212: E/AndroidRuntime(27721): at android.app.Service.onStartCommand(Service.java:438)
12-24 01:33:06.212: E/AndroidRuntime(27721): at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2726)
12-24 01:33:06.212: E/AndroidRuntime(27721): ... 10 more