如何在传入数据上唤醒Android

时间:2013-06-03 13:01:54

标签: android networking service wakelock

我想要一个Android服务,它正在侦听数据(我已尝试过TCP和UDP),以便在数据到达时唤醒服务/电话。

目前,当IP数据到达数据丢失时,手机仍处于睡眠状态。这对Android来说是正常的吗?我每天看几次睡2个小时,睡觉时睡7个小时。

GCM是否提供了一种解决方案,可在消息到达时唤醒服务/电话。

我需要在服务器发送消息后的几秒钟内显示消息。

这只能通过让CPU整天保持运行来实现吗?数据到达时,GSM调制解调器是否没有中断?

1 个答案:

答案 0 :(得分:4)

据我所知,如果你有一个优秀的套接字连接而不是移动数据到服务器,那么套接字连接在睡眠模式下保持不变,而传入的数据包会唤醒手机的睡眠状态模式(简要地)传递数据。

同样是属于WiFi(并且可能不适用于硬连线以太网)。您需要保留WakeLockWifiLock

  

GCM是否提供了一种解决方案,可在消息到达时唤醒服务/电话。

是的,但是......

  

我需要在服务器发送消息后的几秒钟内显示消息。

首先,GCM没有服务级别保证。我不知道有任何解决方案,包括你可能会自己推出的任何解决方案(例如,MQTT)。

其次,您不知道设备是否能够接收任何此类消息(GCM或其他),因为设备可能在飞行模式下关闭等。