SMS Retriever API - 永久监听器

Posted

技术标签:

【中文标题】SMS Retriever API - 永久监听器【英文标题】:SMS Retriever API - permanent listener 【发布时间】:2019-07-18 14:06:17 【问题描述】:

从文档中可以看出,SMS Retriever API 最多只能听 5 分钟。

SMS 检索任务最多会侦听 5 分钟的 SMS 消息,其中包含用于标识您的应用的唯一字符串。

是否可以一直运行? 如果我每五分钟启动一次,会不会影响电池寿命?

用例正在接收一个 SMS 请求,该请求响应带有位置的 SMS。我们使用短信,而不是数据,因为我们的用户经常在没有数据网络的地区。 我无法在 Google Play 上获得 RECEIVE_SMS 权限(我从“更新被拒绝”电子邮件中收集到的内容),但他们将允许 SEND_SMS。

【问题讨论】:

只是一个建议,而不是短信为什么不使用firebase通知? 我在移动数据不可用但 GSM 仍然可用的紧急情况下使用 SMS 【参考方案1】:

不可能让它运行超过 5 分钟。

此外,它仅侦听一条带有 OTP 的 SMS,因此即使超过 5 分钟也没有意义。

如果您有resend OTPretry 功能,您需要使用以下代码再次启动短信检索器。

val client = SmsRetriever.getClient(this)
val retriever = client.startSmsRetriever()

【讨论】:

【参考方案2】:

是否可以一直运行?如果我每五分钟启动一次会不会影响电池寿命? -- 通过使用 JobSchedular 您可以在前台连续运行长达 15 分钟,之后您必须重新启动 JobSchedular 再次..如果你喜欢这个..在某些android设备说“这个应用程序是耗电应用程序你想关闭???.. "

【讨论】:

从我收集的应用更新拒绝电子邮件中,他们将允许我的应用出现 SEND_SMS 异常,但不允许 RECEIVE_SMS。每 15 分钟运行一次 JobScheduler 意味着应用在这 10 分钟内不会收到短信 为了接收短信,我们无法在后台运行更多时间。通过使用 JobSchedular,您可以在前台连续运行长达 15 分钟,之后您必须再次重新启动 JobSchedular..

以上是关于SMS Retriever API - 永久监听器的主要内容,如果未能解决你的问题,请参考以下文章

使用 SMS Retriever API Android 的 OTP/SMS 自动获取问题

Google SMS Retriever API 在土耳其不起作用

为啥 SMS Retriever API 在发布模式下不起作用?

如何使用 Google App 签名为 Sms Retriever 生成 11 个字符的哈希密钥

每次获取不同App的Hash String |短信检索 API

uniapp 短信监听(验证码)插件 Ba-Sms