我已經在我的項目中實現了應用內結算,但有時它會給出以下NullPointerException IabHelper.launchPurchaseFlow()方法。目前我使用保留的ID進行測試,並且apk沒有簽名。NullPointerException InAppBilling.IabHelper.launchPurchaseFlow(IabHelper.java:356)
02-01 01:53:56.097: E/AndroidRuntime(9314): java.lang.NullPointerException
02-01 01:53:56.097: E/AndroidRuntime(9314): at com.example.app.InAppBilling.IabHelper.launchPurchaseFlow(IabHelper.java:356)
02-01 01:53:56.097: E/AndroidRuntime(9314): at com.example.app.InAppBilling.IabHelper.launchPurchaseFlow(IabHelper.java:307)
02-01 01:53:56.097: E/AndroidRuntime(9314): at com.example.app.MYTabActivity$4.onClick(MYTabActivity.java:418)
02-01 01:53:56.097: E/AndroidRuntime(9314): at com.android.internal.app.AlertController$ButtonHandler.handleMessage
.
。 。
非常感謝。這解決了我面臨兩天的問題。 –
我並不是100%確定我的編輯是正確的,因爲如果調用成功,我們不調用'flagEndAsync()',但我並不熟悉該類的其餘部分。把它放在'finally'語句或類似的東西中可能會更好。確保向其他人開放編輯。 – Soup
flagEndAsync()是必須的,它將結束異步操作,下次如果我們嘗試購買它不會拋出「llegalStateException:無法啓動異步操作(launchPurchaseFlow),因爲正在進行另一個異步操作(launchPurchaseFlow)。 –