安卓 : Listen to packet data when Android in sleep mode

标签 android tcp cpu sleep

如前一个问题的答案所述,CDMA 和 GSM radio 保持打开状态,即使在 Android 设备上将 CPU 置于 sleep 状态后也是如此。 我的问题是...

  1. 当接到电话时,是什么唤醒了 CPU/手机?
  2. 是否有类似的机制可以在通过与服务器的 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/

相关文章:

android - 出现错误,同时为 phonegap 添加 android 平台

java - 使用一个 InputStream 作为多个更高级别 InputStream(如 BufferedReader、DataInputStream)的源

c - 为什么这个缓冲区定义在一个循环内?

python - 如何仅在用户未主动工作时运行 python 脚本?

cpu - CPU的时钟速度和时钟周期之间的关系

PHP在Linux服务器上获取每个内核的CPU使用率

android - 让多个 flavorGroups 影响 Android gradle build 中的 packageName

java - 文本到语音(这,这);不起作用

android - 没有cloudpush的android的getDeviceToken

c++ - 使用套接字,发出通信结束信号的最佳做法是什么?