我正在为 Android 使用 fortumo。在 AVD 中,fortumo 与应用程序运行良好,但是当我在移动设备上调试它时。它给我

“在沙盒模式下禁用小部件回退”

我搜索了一下,发现是因为手机没有SIM卡。

所以我的问题是如何在沙箱模式下运行 fortumo,就像我在我的 AVD(Android 虚拟设备)上运行它一样。它应该在我的移动设备上运行,因为它在 AVD 上运行

谢谢

最佳答案

Fortumo 是一家国际移动支付提供商,它提供移动运营商计费服务。先了解how Fortumo works.

  • Fortumo sdk 已集成到应用程序中。
  • 用户通过手机确认付款并将金额记入手机话费,从开发商处购买数字商品。
  • Fortumo 检查其 300 家运营商的列表,以查看向何处发送付款请求并将其转发给正确的运营商。
  • 运营商检查用户是否有足够的钱进行移动支付并将信息发送回 Fortumo。
  • 当一切正常时,Fortumo 完成交易并通知开发者将数字商品转移给用户。在月底,所有付款都转给了开发商。

  • 因此,为了测试 Fortumo 应用内购买,您需要将 SIM 卡插入要测试的设备中。SIM 卡充当用户、运营商和 Fortumo 之间连接的中心点。此外,有时在进行 Fortumo 支付时,用户和运营商之间也会交换短信。



    android 模拟器(AVD) 提供各种模拟,如电话模拟、短信模拟和 many more 。因此,当您在 AVD 上运行应用程序时,android 也会模拟提供 SMS 模拟的 SIM 卡。因此,您不会在 AVD 上获得 "Widget Fallback is disabled while in sandbox mode" toast 。



    只需在您的设备中插入 SIM 卡并运行代码。它会正常工作。

    更新:



    在没有 SIM 卡的平板电脑上使用 Fortumo 时,会发生小部件回退。
    加载一个网站,要求您输入电话号码,然后您会收到向某个号码发送关键字的说明。发送此消息后,用户必须等待几秒钟,直到他们的付款被接受,然后网站将停止加载/等待,返回到您的应用程序,并发送 MESSAGE_STATUS_BILLED 广播。

    Supporting Tablets
    <!-- If your app doesn't need to make phone calls, you can add this, so the app
    could be installed on tablets. -->
    <uses-feature android:name="android.hardware.telephony" android:required="false" />
    

    Reference

    更新 2:

    如果未插入 SIM 卡,则会显示用于支付的网络窗口。然而,它仅适用于实时模式。
    对于某些国家/地区,仅支持网络窗口付款。它也只能在实时模式下工作。

    关于android - 在沙盒模式下禁用小部件回退 (Fortumo),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23035205/

    10-12 05:01