有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Android上的java常量运行控制服务

我需要在Android中创建一个不断监听UDP消息(广播或单播)的服务。服务需要一直工作,永不消亡

我坚持使用的当前解决方案-服务,由startWakefulService的WakefulBroadcastReceiver启动。接收方以编程方式注册到启动服务的应用程序的主要活动中。 此外,为了防止服务被终止或暂停,我使用了START_STICKY和大量的WakeLocks(防止CPU进入睡眠状态)、WifiLocks(防止wifi模块进入睡眠状态)和multicast locks(防止设备屏幕锁定时阻塞UDP广播)。我的wakelocks的主要问题是——我不知道需要从哪个线程创建它(目前服务为接收UDP数据包启动单独的线程,所以现在我从我拥有的每个线程创建它们)。我知道wakelocks会造成电池耗电,但这并不重要,因为在我的情况下,设备几乎会持续充电

我目前遇到的主要问题是:手机在屏幕锁定一段时间后仍然停止接收广播(我假设也是单播)(我在三星Galaxy S7S6上测试了我的解决方案)。所以,问题是-我如何保持CPU和网络永远活着,以任何可能的方式


共 (0) 个答案