I'm getting an Null Pointer Exception Error when calling the following method from In App Purchase. I tested on my phone and it seemed to work fine. However, on the ANRs & Crashes, I see people are getting the null pointer exception on this line
inv = queryInventory(querySkuDetails, moreItemSkus, moreSubsSkus);
Following is the code from the IAP sample code that I use in my app.
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();
}
Here's the complete error that I'm seeing from ANRs & crashes
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)