android - 跨多个 Activity 调用 IAB

标签 android in-app-billing

我有一个应用程序为我的应用程序的高级版本实现了应用程序内结算。在启动时,我检查用户是否使用 IabHelper 购买了产品。当我加载下一个 Activity 时,我需要再次检查购买以决定是否显示某些菜单内容。出于安全原因,我不想在启动时将调用结果存储在首选项或本地数据库中,并且了解播放信息无论如何都会被缓存。我在第二个 Activity 中最好的选择是创建 IabHelper 的新实例并再次调用 startSetup() 然后 queryInventoryAsync()?问题在于,由于调用是异步的,我不确定何时会返回响应以更新 UI 菜单。

最佳答案

这也是我目前正在做的事情。我使用异步回调来更新以前保留的菜单对象以显示/隐藏购买选项,实际上从未见过返回调用的速度。

如果您调用 queryInventoryAsync(false, mGotInventoryListener);(注意 false 标志)以加快该过程,那么您将仅使用响应速度更快的本地缓存 list 。

关于android - 跨多个 Activity 调用 IAB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35458398/

相关文章:

Android:我在一个已经发布的应用程序上更改了 sharedUserId,但我的一些用户无法更新。我现在应该怎么办?

Android:如何将密码/安全添加到手机的时间/日期设置以防止用户更改它

java - 由于相同的 HaschCode(重复对象),ArrayList 对象值更改

android - 如何创建带有三角形下拉箭头的矩形框的微调器?

android - Google Play 获取含增值税的订阅价格

java - Android in app billing - 如何知道哪些用户购买了产品

Android Market 许可服务

java.lang.IllegalStateException : cannot find button's onClick method in Android Studio 错误

Android IAB V3 查询拥有的项目返回正数但在消费时返回不拥有的项目

android - 测试 Android 在 App Billing 中,应用程序无法在测试模式下运行