要解决这个问题,可以将调用billingClient.queryPurchases(BillingClient.SkuType.SUBS)
方法的返回值存储在一个变量中,然后检查该返回值是否为null
。如果返回值为null
,则使用Collections.emptyList()
方法来创建一个空的List对象作为替代。
以下是一个示例代码:
PurchasesResult purchasesResult = billingClient.queryPurchases(BillingClient.SkuType.SUBS);
List purchasesList;
if (purchasesResult != null && purchasesResult.getPurchasesList() != null) {
purchasesList = purchasesResult.getPurchasesList();
} else {
purchasesList = Collections.emptyList();
}
这样,即使getPurchasesList()
返回null
,你也可以得到一个空的List对象,而不会出现空指针异常。