Android InAppBilling - 如何检查产品是否是从其他活动购买的?

时间:2018-06-14 11:56:32

标签: android kotlin in-app-billing

我使用InAppBilling-V3库成功实施了应用结算。

我已在ProActivity内实施了所有应用内结算,一旦购买成功完成,我就会在共享偏好设置中将一个布尔值设置为true

我知道用户可以轻松修改共享首选项,因此我一直在寻找一种方法,如果购买了产品,可以从MainActivity仔细检查。

我基本上需要打电话

billingProcessor.listOwnedProducts() 

并检查列表是否为!= 0,但我需要从MainActivity开始,而不是我在应用结算中实现的那个。

有没有办法实现这一目标?我在文档中找不到任何内容。所有文档都是从实施应用内结算的活动中完成的。

1 个答案:

答案 0 :(得分:2)

您是对的,共享偏好设置中的布尔值是不安全的,您必须检查每个需要对结算状态做出决定的活动。

我有两种可能的方法。

  • 创建一个Application类并添加一个函数来返回是否 已购买商品并从ProActivityMainActivity类别调用此功能。
  • 使用该函数创建一个基本Activity类 然后从这个类继承你的ProActivity和。{ MainActivity课程。

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