【问题标题】:In app Billing V3 onActivityResult isn't called在应用计费 V3 onActivityResult 中未调用
【发布时间】:2012-12-17 08:00:54
【问题描述】:

我已经在我的应用程序中实现了新的 IAB,但是当我在两个不同的设备上对其进行测试时,在 Galaxy S3 上的结果是不同的,但在 Galaxy S1 (gt-i9000) 上,购买 onActivityResult 方法后是' t 调用并重新启动应用程序。

有什么建议吗?

【问题讨论】:

  • 面临同样的问题:在我的应用程序的一个活动中工作正常,而在文档上具有相同代码签名的另一个活动中却没有

标签: in-app-billing


【解决方案1】:

我遇到了同样的问题,就我而言,原因是我在意图中设置了一个标志,该标志调用了托管购买流程的活动

i.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);

删除标志后它可以工作,我猜是因为当 startIntentSenderForResult 启动购买界面时,活动被破坏,没有保存在历史记录中,并且不知何故没有处理 onActivityResult 的意义

【讨论】:

  • 这是一个老问题,但我刚刚在添加 v3 的第二个应用程序中发现了这个问题。我绝对没有朝这个方向看,所以感谢您为我节省了很多时间。
  • 天哪,你是我的英雄!为什么 Google 还没有解决这个问题,或者至少在某个地方记录了它?
【解决方案2】:

您在使用 TABActivity 吗?如果答案是肯定的,那么程序会有所不同,因为 将为父类调用 onActvityResult,这是您扩展 TABActivity 的活动,我不知道为什么,但似乎父类正在调用 onActivityResult。所以您的 startActvityForResult 或 startIntentSenderForResult 代码应该在该活动中。

我使用此链接并根据我的应用程序进行了一些更改,它可以正常工作

onActivityResult is never called in TabActivity

【讨论】:

    【解决方案3】:

    我对这个问题的小精灵使用了否定的requestCode。这破坏了结果调度机制。

    【讨论】:

      猜你喜欢
      • 2015-11-07
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-14
      • 1970-01-01
      • 1970-01-01
      • 2015-01-15
      相关资源
      最近更新 更多