在没有互联网的情况下唤醒锁定的手机

Posted

技术标签:

【中文标题】在没有互联网的情况下唤醒锁定的手机【英文标题】:Waking a locked phone up without the internet 【发布时间】:2018-02-25 21:05:37 【问题描述】:

编辑:我注意到 StackExchange 以 android 开头这个问题,但它适用于 ios 和 Android。

我们有一个客户端 iOS/Android 应用程序,我们希望在互联网连接非常有限的情况下(在澳大利亚偏远地区)运行该应用程序。但是,该应用程序可以期望与其本地网络(不在网络上)具有非常好的连接性。

我一直在研究在本地服务器上发生事件时通过某种通知唤醒电话的方法。

根据我的研究:

Web 推送并不好,因为即使是较新的基于 VAPID 的协议仍希望通过浏览器供应商的通知服务器路由一些数据。 iOS Apple 通知本质上与 Web 推送具有相同的要求。 定期轮询服务器/唤醒 Websockets 连接的后台任务可以工作,但可能会导致轮询之间的延迟相当长。 SMS 是一种选择,因为虽然 3G 有限,但有时可以使用基本的电话连接。

是否有任何其他方法能够通过我未列出的服务器发送事件唤醒锁定的移动设备?鉴于 App Store 合规性的运营情况不一定是要求。

干杯

【问题讨论】:

您可以查看通过 adb 使用 LAN 发送意图 您要的是 iOS 还是 Android?它们可能是不同的答案,而且你所说的一半对 Android 开发人员来说毫无意义(推送通知的浏览器供应商?推送通知与浏览器无关)。 @GabeSechan 我指的推送是Web Push standard,这些天有一些不错的支持。我不会对 如何 应用程序的打包方式(本机、Cordova、来自内部服务器的网页等)做出任何硬性假设——尽管如此,跨平台性将是一个不错的选择。跨度> @GabeSechan 我指的推送是Web Push standard,这些天有一些不错的支持。我不会对 如何 应用程序的打包方式(本机、Cordova、来自内部服务器的网页等)做出任何硬性假设——尽管如此,跨平台性将是一个不错的选择。跨度> @AngelKoh 这是一个非常相似的问题 - 我之前没有找到那个问题。至少在 2014 年,答案似乎仍然是相同的——因为至少有一些连接需要通过可访问互联网的第三方进行路由。我希望几年后更多专注于离线优先应用的公司可能会增加新的可能性。 【参考方案1】:

经过大量研究后,答案(截至 2018 年初)是一个非常可靠的答案,至少对于跨平台用例而言是这样。

iOS 要求可以唤醒设备的外部通知来自可识别的基于 Internet 的源(APNS,未来可能还有标准化的基于 VAPID 的推送)、来自移动接口(如果可用)或来自设备本身受后台执行限制。

【讨论】:

以上是关于在没有互联网的情况下唤醒锁定的手机的主要内容,如果未能解决你的问题,请参考以下文章

在没有互联网的情况下在多部手机之间传输数据的好方法(现有)是啥?

adb设置后台运行不结束

如何在没有任何互联网连接的情况下安装 APK?

手机锁定时,使用部分唤醒锁和服务不会使应用程序运行

车联网中 MQTT 心跳保活与远程唤醒设计

离线使用 jQuery 手机