2

Blundell のアプリ内購入の例のコードを自分のアプリに統合しようとしましたが、ほぼすべてが機能しています。アプリで購入できるアイテムごとに 1 つずつ、一連​​のボタンを持つ shop.java というアクティビティを作成しました。ボタンの 1 つをクリックすると、テスト購入 (「android.test.purchased」) が行われ、正常に実行されたように見えます。ログ出力は安心できるように見えます:

CONFIRM_NOTIFICATIONS Sync Response code: RESULT_OK
Transaction complete
Transaction status: PURCHASED
Item purchased is: android.test.purchased
Received action: com.android.vending.billing.RESPONSE_CODE
checkResponseCode got requestId: 4731640731226687265
checkResponseCode got responseCode: RESULT_OK
Received action: com.android.vending.billing.RESPONSE_CODE
checkResponseCode got requestId: 1172244708705759861
checkResponseCode got responseCode: RESULT_OK
Received action: com.android.vending.billing.RESPONSE_CODE
checkResponseCode got requestId: 2684438012578976155
checkResponseCode got responseCode: RESULT_SERVICE_UNAVAILABLE
Key action: 4
clipservice: android.sec.clipboard.ClipboardExManager@41d443c0
Stopping Service

制御は shop.java に戻されます。ここで戻るボタンを押して、アプリのメイン アクティビティに戻ります。shop.java の onDestroy メソッドが呼び出されていると思いますが、次のエラーが発生します。

Service com.mycompany.mygame.BillingService has leaked ServiceConnection com.mycompany.mygame.BillingService@41d25498 that was originally bound here

何か案は?

編集:何も購入しようとしなくても、まったく同じエラーが発生することに気付きました!

4

1 に答える 1

8

課金サービスを初期化するときは、アクティビティ コンテキストではなくアプリケーション コンテキストを与えるようにしてください。使用する:

getApplicationContext()
于 2012-12-23T20:39:00.233 に答える