2

在应用计费 v3中,在多个场景中返回响应代码(BILLING_RESPONSE_RESULT_USER_CANCELED:1) -1005 。

启动购买流程会打开类似 Google Play 的 UI。每当此 UI 中发生错误时,例如网络断开/超时/物品不可用/物品已购买,都会弹出一个对话框以指示错误。单击 OK 时,响应代码:User Cancelled(1)总是在 OnActivityResult Intent extras 中返回。根据 Android 开发者网站上的参考资料,这应该只在用户取消活动/对话框时才会发生,我显然不会这样做。

我想分离出不同的错误并在我的应用程序中单独处理它们。返回一个错误代码并没有帮助。有人遇到过吗?有解决办法吗?

4

2 回答 2

1

根据记录,这似乎是 Google Play 客户端的问题。Google 已开始将 GP 客户端更新为 4.0+ 版本,并且该错误似乎已修复。

于 2013-05-03T20:59:52.660 回答
0

TrivialDrive 演示测试值 Activity.RESULT_CANCELED 的 onActivityResult() 回调,并假设如果这是返回的值,则用户已取消。

这是一个不正确的假设,因为如果该活动结果中的 responseCode 是 BILLING_RESPONSE_RESULT_ITEM_ALREADY_OWNED (=7),那么 Activity.RESULT_CANCELED 表示应用内计费服务将不允许购买,因为该项目已经拥有。此响应代码对我有用。

但是,一旦消除了这种可能性,我发现假设用户已取消是安全的。但是,我最近还没有检查过 Google 是否已使 BILLING_RESPONSE_RESULT_USER_CANCELED 响应代码直接可测试且可靠。

于 2014-07-13T04:07:52.760 回答