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

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

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

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

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

【问题讨论】:

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

标签: android google-play sms android-permissions


【解决方案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..
    猜你喜欢
    • 2020-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-26
    • 2019-08-08
    • 1970-01-01
    • 2019-07-15
    相关资源
    最近更新 更多