如前一个问题的答案所述,CDMA 和 GSM radio 保持打开状态,即使在 Android 设备上将 CPU 置于 sleep 状态后也是如此。 我的问题是...
- 当接到电话时,是什么唤醒了 CPU/手机?
- 是否有类似的机制可以在通过与服务器的 Activity TCP 连接接收到数据时唤醒我的应用程序,即使手机已进入休眠模式?
最佳答案
CPU休眠时无法接收数据。
CPU需要时不时的唤醒一次,看看有没有新的数据。在您检查新数据的代码中,如果有新数据,您可以保持清醒并继续进行处理。
您肯定想了解 BroadcastReceiver 和 android 闹钟。基本上,您可以告诉 Android 每 5 分钟或任何时间向您发送一次警报,即使它正在休眠。您的 BroadcastReceiver 在收到来自 android 的警报时唤醒 CPU,并保持清醒足够长的时间来检查您是否有新数据,或者您正在尝试做什么。如果你有新数据,你可以告诉 CPU 保持清醒,然后你可以去处理你的新数据。
这是一个reasonable tutorial .当然,Android 开发者文档也很有帮助。
关于安卓 : Listen to packet data when Android in sleep mode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10184054/