当前位置: 首页 > 知识库问答 >
问题:

Android应用内计费v3. onActivityResult

欧奇希
2023-03-14

启动购买流后,onActivityResult方法需要什么?

来自平凡的驱动器示例:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    if (mHelper == null) return;

    // Pass on the activity result to the helper for handling
    if (!mHelper.handleActivityResult(requestCode, resultCode, data)) {
        // not handled, so handle it ourselves (here's where you'd
        // perform any handling of activity results not related to in-app
        // billing...
        super.onActivityResult(requestCode, resultCode, data);
    }
    else {
        Log.d(TAG, "onActivityResult handled by IABUtil.");
    }
}

msgstr"在这里,您可以对与应用内计费无关的活动结果执行任何处理"

这是否意味着您需要更新用户的清单或显示警报框?如果是这样,我已经在OnConsumeFinishedListener中这样做了。我已经测试了我的代码,留下了上面的onActivityResult方法,看起来没问题。这可能会导致任何问题吗?

或者这是否意味着我必须为购买的SKU手动调用consume方法?

共有1个答案

桂和同
2023-03-14

如果您不必处理活动中的其他结果,那么您的代码就可以了。想象一个活动,例如使用startActivityForResult()启动其他活动。这是处理“与应用内计费无关”结果的地方。

但是你应该把代码改成:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    // Pass on the activity result to the helper for handling
    if (mHelper==null || !mHelper.handleActivityResult(requestCode, resultCode, data)) {
        // not handled, so handle it ourselves (here's where you'd
        // perform any handling of activity results not related to in-app
        // billing...
    }
    else {
        Log.d(TAG, "onActivityResult handled by IABUtil.");
    }
    super.onActivityResult(requestCode, resultCode, data);
}
 类似资料:
  • 为了测试Android应用内计费v3,我实现了一个对话框,其中添加了一个选项适配器。我添加了测试SKU,“Android.测试.购买”,“Android.测试.取消”,“Android.测试.退款”,“Android.测试.项目不可用”。 当我使用该对话框启动购买流时,一切正常,我能够购买该商品,并且该商品是绝对购买的。然而,当我的应用程序尝试刷新UI时,我会收到一个nullpointerexce

  • 也许我做错了什么,但如果是这样的话,我就想不出来了。我正在尝试购买一种产品,无论出于何种原因,购买过程都不正常。当我点击购买一件物品时,它会给我账单流程。然后在付款后,我必须再次点击它才能收到我购买的芯片。任何帮助都会很棒,谢谢!如果你不熟悉这个工具,这里有一个链接https://github.com/anjlab/android-inapp-billing-v3如果你需要更多细节,请告诉我。

  • 在我的测试应用程序中,用户点击一个购买按钮,然后购买一个物品。当购买完成时,一个textview会显示为“购买完成”。都很好。:)。然而,当我杀死应用程序,并再次打开它,购买按钮再次出现....:/。为什么会发生这种情况?谷歌对此不是很清楚。下面是代码。 固定 最后使用if条件使视图可见或不可见 解决方案并不难,但我必须大量阅读文档,使用调试器点,就是这样:)。

  • 新的Android Billing v3文档和帮助程序代码在启动购买流时使用。我想从开始一个购买流程(并接收结果)。 例如,文件建议致电 助手代码调用 它调用。 问题是,调用会导致在父上被调用,而不是在调用它的上(驻留的地方)。 我可以在父级中接收,然后手动调用上的,但是,有没有一种方法可以从

  • 我在测试我的应用内计费时遇到了麻烦。 (使用Google Play应用内计费版本3 API) 问题: 已退款的应用程序内购买仍然存在于购买列表中,该列表由BillingClient.query购买()提供。 当我在一月份尝试退款时,退款的物品从购物清单上消失了。 我所做的: 作为测试人员购买了一些物品。 (我很确定对话框说是测试购买。) 之后在谷歌游戏控制台退款。 等到他们的付款状态变成退款。 清

  • 那么在应用计费v3 API中如何处理退款呢?我假设对于一个非消耗品,退款被处理,然后google通过他们的后端处理这个处理,然后当getPurchaseState()被执行时,它将返回值2(退款)。如果是这样的话,这对于一个非消耗性产品来说是非常有效的。 当对可消费购买进行getPurchaseState()调用时,它返回null。这是假设购买之前是成功的,并且该项目被消费和供应。我想我可以在应用