我已經在應用程序結算v3在我的應用程序實現了大約一個星期了。我使用了很多android的示例代碼來簡化集成。我已經登錄崩潰相當頻繁,我似乎無法重現:In App Billing v3 IllegalArgumentException使用IabHelper
Exception Type: java.lang.RuntimeException
Reason: Unable to destroy activity {[package].billing.BillingActivity}: java.lang.IllegalArgumentException: Service not registered: [package][email protected]
這似乎是在這條線斷:
if (mContext != null) mContext.unbindService(mServiceConn);
我在我的這種綁定服務的onCreate方法並將其放置在我的onDestroy方法中(這是記錄此錯誤的地方)。任何指針?
Ohhhh,很好的解決方法。謝謝! – jbenowitz 2013-04-30 18:41:23
這是一個醜陋的解決方案和編程風格(捕捉異常並對其無所作爲)。你應該找到問題的原因,而不是隱藏效果。原因是服務沒有連接,因此mService = null(正如Sam注意到的)並且mSetupDone = false。您可以檢查其中任何一個,以避免對未綁定的服務執行解除綁定。 – Laviniux 2013-05-20 12:19:43
即使這可能看起來很醜,它也很好。我的崩潰是由重新開始的活動給出的 - a.finish(); startActivity(一); - 事實上,服務通常用來關閉服務的時間是主要問題。我認爲這可以通過延遲此調用輕鬆處理: bindService(serviceIntent,mServiceConn,Context.BIND_AUTO_CREATE);幾秒鐘。那是我的情況。 – Matteo 2015-12-08 22:58:48