Ошибка исключения нулевого указателя на queryInventoryAsync
Я получаю сообщение об ошибке исключения нулевого указателя при вызове следующего метода из In App Purchase. Я проверил на своем телефоне, и он, кажется, работает нормально. Тем не менее, в ANRs & Crash я вижу, что люди получают исключение нулевого указателя в этой строке
inv = queryInventory(querySkuDetails, moreItemSkus, moreSubsSkus);
Ниже приведен код из примера кода IAP, который я использую в своем приложении.
public void queryInventoryAsync(final boolean querySkuDetails, final List<String> moreItemSkus,
final List<String> moreSubsSkus, final QueryInventoryFinishedListener listener)
throws IabAsyncInProgressException {
final Handler handler = new Handler();
checkNotDisposed();
checkSetupDone("queryInventory");
flagStartAsync("refresh inventory");
(new Thread(new Runnable() {
public void run() {
IabResult result = new IabResult(BILLING_RESPONSE_RESULT_OK, "Inventory refresh successful.");
Inventory inv = null;
try {
inv = queryInventory(querySkuDetails, moreItemSkus, moreSubsSkus); // line where null pointer exception is return
}
catch (IabException ex) {
result = ex.getResult();
}
flagEndAsync();
final IabResult result_f = result;
final Inventory inv_f = inv;
if (!mDisposed && listener != null) {
handler.post(new Runnable() {
public void run() {
listener.onQueryInventoryFinished(result_f, inv_f);
}
});
}
}
})).start();
}
Вот полная ошибка, которую я вижу из ANR и сбоев
java.lang.NullPointerException:
at com.toksampleapp.util.IabHelper.queryPurchases
(IabHelper.java:945)
at com.toksampleapp.util.IabHelper.queryInventory
(IabHelper.java:624)
at com.toksampleapp.util.IabHelper$2.run (IabHelper.java:698)
at java.lang.Thread.run (Thread.java:818)