我使用Google Play商店在我的应用中使用应用内购买功能。我将播放版本从9.8.0更新为11.0.1。在尝试购买产品时进行更新后,我正在获得弹出窗口,称google play store已经停止。但它在生产中表现良好。我有点困惑,因为播放服务更新发生了这次崩溃。
我遇到了以下崩溃:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.firstrun.prototyze, PID: 10412
Theme: themes:{default=overlay:system, iconPack:system, fontPkg:system, com.android.systemui=overlay:system, com.android.systemui.navbar=overlay:system}
java.lang.NullPointerException: Attempt to invoke interface method 'android.os.Bundle com.android.vending.billing.IInAppBillingService.getBuyIntent(int, java.lang.String, java.lang.String, java.lang.String, java.lang.String)' on a null object reference
at com.android.mobiefit.sdk.manager.PurchaseManager.purchase(PurchaseManager.java:123)
at com.firstrun.prototyze.ui.selectprogram.ProgramPurchaseDetailActivity$8.onRequestSuccess(ProgramPurchaseDetailActivity.java:379)
at com.android.mobiefit.sdk.manager.TransactionManager.lambda$transactionEvent$0(TransactionManager.java:46)
at com.android.mobiefit.sdk.manager.TransactionManager$$Lambda$1.accept(Unknown Source)
at io.reactivex.internal.observers.ConsumerSingleObserver.onSuccess(ConsumerSingleObserver.java:59)
at io.reactivex.internal.operators.single.SingleObserveOn$ObserveOnSingleObserver.run(SingleObserveOn.java:81)
at io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable.run(HandlerScheduler.java:109)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5461)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
这是我的采购经理:
//Last parameter - RUN=false, BODY=true
public boolean purchase(String productShortcode, String sku, Activity activityObj, boolean subscription) throws RemoteException, IntentSender.SendIntentException {
Log.d(TAG, "Start Purchase");
String type = "inapp";
if(subscription) {
type = "subs";
}
Bundle buyIntentBundle = mService.getBuyIntent(3, activityObj.getPackageName(),
sku, type, productShortcode);
for(String key : buyIntentBundle.keySet()) {
Log.d("Purchase", key +" :: " + buyIntentBundle.get(key));
}
if(buyIntentBundle.getInt("RESPONSE_CODE", 0) == 7) {
Log.d(TAG, "Item is already purchased, consume and try again");
return false;
}
PendingIntent pendingIntent = buyIntentBundle.getParcelable("BUY_INTENT");
activityObj.startIntentSenderForResult(pendingIntent.getIntentSender(),
1001, new Intent(), Integer.valueOf(0), Integer.valueOf(0),
Integer.valueOf(0));
return true;
}
有人可以告诉我这是什么问题吗?
答案 0 :(得分:0)
这是google play store版本的bug
无需担心。
只需使用较旧的谷歌Play商店版本在应用程序购买测试它将工作:)
有关详细信息,请参阅此question
编辑:2017年8月11日
现在新的谷歌游戏商店版本 8.0.73.R-所有[0] [公关] 162689464 谷歌修复此崩溃问题我有在我的设备上成功测试了它,所以现在你不再遇到这个问题了。 :)
答案 1 :(得分:0)
在我的P9 Lite中,当我尝试启动应用程序时,它会在没有任何消息的情况下崩溃。我刚刚尝试清理缓存,但唯一的解决方案是删除更新并使用最新版本。
10分钟后google play找到更新,重新安装版本8..0.73.R-all [0] [PR] 162689464,10分钟后应用程序再次崩溃。我不知道如何解决这个问题,因为应用程序的自动更新始于任何问题。