Aquí podría ser tu PUBLICIDAD


Android App NullPointerException facturación en Android 8.0

votos
0

Recibí se quejan de los usuarios de Android 8.0 que después de haber realizado el pago, mi accidente aplicación. Son incapaces de recibir el artículo comprado. Mi aplicación en la facturación está utilizando código de TrivialDrive (AIDL). Funciona bien en otras versiones de Android. Este es el informe de bloqueo:

java.lang.NullPointerException: 
  at .ConceptActivity$12.a (ConceptActivity.java:9)
  at .inappbilling.util.IabHelper$2$1.run (IabHelper.java:8)
  at android.os.Handler.handleCallback (Handler.java:790)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loop (Looper.java:164)
  at android.app.ActivityThread.main (ActivityThread.java:6501)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:438)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:807)

Mi IabHelperfue llamado onCreate.

String base64EncodedPublicKey = 
                                       <license key here>;

            mHelper = new IabHelper(this, base64EncodedPublicKey);

            mHelper.startSetup(new 
            IabHelper.OnIabSetupFinishedListener() {
                 public void onIabSetupFinished(IabResult result) 
             {
                       if (!result.isSuccess()) {
                         Log.d(TAG, In-app Billing setup failed:  + 
                    result);
                       } else {             
                         Log.d(TAG, In-app Billing is set up OK);
                   }
                     }
            });

Este es el Oyente terminado mi compra:

IabHelper.OnIabPurchaseFinishedListener mPurchaseFinishedListener
            = new IabHelper.OnIabPurchaseFinishedListener() {
        public void onIabPurchaseFinished(IabResult result,
                                          Purchase purchase)
        {
            if (result.isFailure()) {
                checkItem();
                return;
            }
            else if (purchase.getSku().equals(ITEM_SKU)) {
                removeAds();
            }

        }
    };

Y mi Consulta de inventario Terminado:

public void checkItem() {
        mHelper.queryInventoryAsync(mReceivedInventoryListener);
    }

    IabHelper.QueryInventoryFinishedListener mReceivedInventoryListener
            = new IabHelper.QueryInventoryFinishedListener() {
        public void onQueryInventoryFinished(IabResult result,
                                             Inventory inventory) {

            if (mHelper == null) return;
            Purchase purchase = inventory.getPurchase(ITEM_SKU);
            if (purchase != null) {
                removeAds();
            }
        }
    };
Publicado el 02/09/2018 a las 05:26
fuente por usuario user2872856
En otros idiomas...        العربية       


Aquí podría ser tu PUBLICIDAD