应用内计费 V3 onActivityResult 方法未调用

4
我已经在我的应用程序中实现了新的IAB,但在测试两个不同设备时,Galaxy S3的结果很好,但在Galaxy S1(GT-i9000)上,在购买后onActivityResult方法没有被调用并且应用程序重新启动。 有什么建议吗?

面临同样的问题:我的应用程序中一个活动可以正常工作,而另一个活动使用相同的代码签名在文档中却不能正常工作。 - NavinRaj Pandey
3个回答

4
我遇到了相同的问题,我的情况是调用托管购买流程的活动时设置了一个标志。
i.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
移除标志后它就可以工作了。我猜这是因为当startIntentSenderForResult启动购买界面时,活动被销毁了,没有保存在历史记录中,有点处理onActivityResult没有意义。

这是一个老问题,但我刚在第二个添加v3的应用程序中遇到了。我绝对没有往这个方向看,所以感谢你节省了我大量的时间。 - ProjectJourneyman
哇,你是我的英雄!为什么谷歌还没有修复这个问题,或者至少在某个地方记录它呢? - Johan Paul

0

你正在使用TABActivity吗?如果是,那么过程会有所不同,因为onActivityResult将被调用父类,即扩展TABActivity的活动,我不知道为什么,但似乎父类正在捕获onActivityResult。因此,你的startActvityForResult或startIntentSenderForResult的代码应该在那个活动中。

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

onActivityResult在TabActivity中从未被调用


0

我在解决这个问题时犯了一个错误,就是使用了负数的requestCode。这会破坏结果分发机制。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接