1. ホーム
  2. android

[解決済み] onIabPurchaseFinished が呼び出されない。

2022-10-10 13:10:59

質問

最初のアプリでアプリ内課金を設定しようとしており、android.test.purchased sku を使用しています。購入が完了し、SKUを私のインベントリに取得することに成功しましたが、タイトルにあるように、onIabPurchaseFinishedは、決して呼び出されません。

このログと関係があるのかもしれません。"Couldn't save which view has focus because the focused view com.android.internal.policy.impl.PhoneWindow$DecorView@406743d0 has no id". Google Playに行く直前にポップアップで表示されます。しかし、私はそれが何を意味するのかよくわからない....

購入を開始します。

mHelper.launchPurchaseFlow(this, sku, 10001, mPurchaseFinishedListener, "");

そしてListener。

IabHelper.OnIabPurchaseFinishedListener mPurchaseFinishedListener = new IabHelper.OnIabPurchaseFinishedListener() {

    @Override
    public void onIabPurchaseFinished(IabResult result, Purchase info) {
        System.out.println("Purchase Finish heard something");

        if (result.isFailure()) {
             Log.d(TAG, "Error purchasing: " + result);
             return;
        } else{
                Log.d(TAG,"Success!");
             }


    }
};

どのように解決するのですか?

を呼び出すActivityにこれを追加してみてください。 mHelper.launchPurchaseFlow(..) :

    @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    Log.d(TAG, "onActivityResult(" + requestCode + "," + resultCode + "," + data);

    // Pass on the activity result to the helper for handling
    if (!mHelper.handleActivityResult(requestCode, resultCode, data)) {
        // not handled, so handle it ourselves (here's where you'd
        // perform any handling of activity results not related to in-app
        // billing...
        super.onActivityResult(requestCode, resultCode, data);
    }
    else {
        Log.d(TAG, "onActivityResult handled by IABUtil.");
    }
}