Android InAppBilling - 如何检查产品是否是从另一个 activity 购买的?

Android InAppBilling - How do I check if a product was purchased from another activity?

我使用 InAppBilling-V3 库成功实施了 In App Billing。

我已经在我的 ProActivity 中实施了所有应用内结算,一旦成功完成购买,我将共享首选项中的布尔值设置为 true

我知道共享首选项很容易被用户修改,所以我一直在寻找一种方法来从我的 MainActivity 中仔细检查产品是否已购买。

我基本上需要打电话

billingProcessor.listOwnedProducts() 

并检查列表是否为 != 0,但我需要从我的 MainActivity 执行此操作,这不是我在应用计费中实施的列表。

有办法实现吗?我在文档中找不到任何内容。所有文档都是从 activity 实施应用内计费的地方开始的。

你是对的,共享首选项中的布尔值是不安全的,你必须检查每个需要根据计费状态做出决定的 activity。

两种可能的方法。

  • 创建一个应用程序 class 并向 return 添加一个函数是否 商品已购买并从您的 ProActivityMainActivity classes.
  • 调用此函数
  • 用函数创建一个基地 Activity class 然后从这个 class 继承你的 ProActivityMainActivity classes.

我更喜欢创建基础的第二种选择class,但这是主观的。