草庐IT

android - 在沙盒模式下小部件回退被禁用 (Fortumo)

coder 2023-12-26 原文

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

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

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

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

谢谢

最佳答案

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

  1. Fortumo SDK 已集成到应用程序中。
  2. 用户通过手机确认付款并将金额计入手机账单,从而从开发者处购买数字商品。
  3. Fortumo 检查其 300 家运营商的列表,以查看将付款请求发送到何处并将其转发给正确的运营商。
  4. 运营商检查用户是否有足够的钱进行移动支付,并将信息发送回 Fortumo。
  5. 一切正常后,Fortumo 完成交易并通知开发者将数字商品转移给用户。在月底,所有款项都会转给开发商。

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

In AVD fortumo is working fine with the application.

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

how can I run fortumo in sandbox mode exactly as I am running it on my AVD(Android Virtual device).

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

更新:

Using Fortumo on devices without a SIM card.

在没有 SIM 卡的平板电脑上使用 Fortumo 时,会发生 widget-fallback。 加载一个网站,要求您输入电话号码,然后您会收到将关键字发送到特定号码的说明。发送此消息后,用户必须等待几秒钟,直到他们的付款被接受,然后网站将停止加载/等待,返回到您的应用程序,并发送 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/

有关android - 在沙盒模式下小部件回退被禁用 (Fortumo)的更多相关文章

  1. ruby-on-rails - Rails - 子类化模型的设计模式是什么? - 2

    我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

  2. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  3. ruby - 如何在续集中重新加载表模式? - 2

    鉴于我有以下迁移:Sequel.migrationdoupdoalter_table:usersdoadd_column:is_admin,:default=>falseend#SequelrunsaDESCRIBEtablestatement,whenthemodelisloaded.#Atthispoint,itdoesnotknowthatusershaveais_adminflag.#Soitfails.@user=User.find(:email=>"admin@fancy-startup.example")@user.is_admin=true@user.save!ende

  4. ruby - 是否有用于序列化和反序列化各种格式的对象层次结构的模式? - 2

    给定一个复杂的对象层次结构,幸运的是它不包含循环引用,我如何实现支持各种格式的序列化?我不是来讨论实际实现的。相反,我正在寻找可能会派上用场的设计模式提示。更准确地说:我正在使用Ruby,我想解析XML和JSON数据以构建复杂的对象层次结构。此外,应该可以将该层次结构序列化为JSON、XML和可能的HTML。我可以为此使用Builder模式吗?在任何提到的情况下,我都有某种结构化数据-无论是在内存中还是文本中-我想用它来构建其他东西。我认为将序列化逻辑与实际业务逻辑分开会很好,这样我以后就可以轻松支持多种XML格式。 最佳答案 我最

  5. 安卓apk修改(Android反编译apk) - 2

    最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路

  6. python - 是否可以使用 Ruby 或 Python 禁用 anchor /引用来发出有效的 YAML? - 2

    是否可以在PyYAML或Ruby的Psych引擎中禁用创建anchor和引用(并有效地显式列出冗余数据)?也许我在网上搜索时遗漏了一些东西,但在Psych中似乎没有太多可用的选项,而且我也无法确定PyYAML是否允许这样做.基本原理是我必须序列化一些数据并将其以可读的形式传递给一个不是真正的技术同事进行手动验证。有些数据是多余的,但我需要以最明确的方式列出它们以提高可读性(anchor和引用是提高效率的好概念,但不是人类可读性)。Ruby和Python是我选择的工具,但如果有其他一些相当简单的方法来“展开”YAML文档,它可能就可以了。 最佳答案

  7. ruby-on-rails - environment.rb 中设置的常量在开发模式中消失 - 2

    了解Rails缓存如何工作的人可以真正帮助我。这是嵌套在Rails::Initializer.runblock中的代码:config.after_initializedoSomeClass.const_set'SOME_CONST','SOME_VAL'end现在,如果我运行script/server并发出请求,一切都很好。然而,在我的Rails应用程序的第二个请求中,一切都因单元化常量错误而变得糟糕。在生产模式下,我可以成功发出第二个请求,这意味着常量仍然存在。我已通过将以上内容更改为以下内容来解决问题:config.after_initializedorequire'some_cl

  8. ruby-on-rails - 禁用设备的 :confirmable on-the-fly to batch-generate users - 2

    Devise是一个Ruby库,它为我提供了这个User类:classUser当写入:confirmable时,注册时会发送一封确认邮件。上周我不得不批量创建300个用户,所以我在恢复之前注释掉了:confirmable几分钟。现在我正在为用户批量创建创建一个UI,因此我需要即时添加/删除:confirmable。(我也可以直接修改Devise的源码,但我宁愿不去调和它)问题:如何即时添加/删除:confirmable? 最佳答案 WayneConrad的解决方案:user=User.newuser.skip_confirmation

  9. Ruby:标准递归模式 - 2

    我经常迷上ruby​​的一件事是递归模式。例如,假设我有一个数组,它可能包含无限深度的数组作为元素。所以,例如:my_array=[1,[2,3,[4,5,[6,7]]]]我想创建一个方法,可以将数组展平为[1,2,3,4,5,6,7]。我知道.flatten可以完成这项工作,但这个问题是作为我经常遇到的递归问题的一个例子-因此我试图找到一个更可重用的解决方案。简而言之-我猜这种事情有一个标准模式,但我想不出任何特别优雅的东西。任何想法表示赞赏 最佳答案 递归是一种方法,它不依赖于语言。您在编写算法时要考虑两种情况:再次调用函数的情

  10. ruby - 在 Ruby 中查找多个正则表达式匹配的模式和位置 - 2

    这应该是一个简单的问题,但我找不到任何相关信息。给定一个Ruby中的正则表达式,对于每个匹配项,我需要检索匹配的模式$1、$2,但我还需要匹配位置。我知道=~运算符为我提供了第一个匹配项的位置,而string.scan(/regex/)为我提供了所有匹配模式。如果可能,我需要在同一步骤中获得两个结果。 最佳答案 MatchDatastring.scan(regex)do$1#Patternatfirstposition$2#Patternatsecondposition$~.offset(1)#Startingandendingpo

随机推荐