【发布时间】:2014-07-19 08:44:29
【问题描述】:
在我开始我的问题之前,我想先说一句:我知道强制服务永远运行是个坏主意...我根本不在乎。
此应用程序不供消费者使用。它不会在应用商店上架。它仅供我使用。
好的,我有这个未使用的运行 4.0.3 (ICS) 的 HTC Sensation,我自愿将它送到当地剧院执行任务。任务是让它在节目需要时随时响起。我们不希望里面有 sim 卡,因为有人可能会在演出期间意外拨打电话,而电话本不应该响铃。
因此,我创建了一个假电话应用程序,该应用程序通过 TCP 从服务器接收信号,该服务器已设置为通过 LAN 向设备发送信号。现在我让监听器在服务中无限循环运行。但是,我仍然遇到服务没有响应 TCP 信号。
如果一些 android 专家可以给我一些提示/技巧,使这项服务尽可能可靠,我将不胜感激,除了好的/坏的编码技术之外,我想尽一切可能使这项服务无法被杀死。这款手机现在只有一项工作,那就是始终监听传入的消息,无论如何。
到目前为止我做过的事情:
创建了一个服务(并从该服务启动了一个单独的线程) 使用 startForeground(id, notification); 激活 DeviceAdmin 并创建唤醒锁
你们还能想到什么?
【问题讨论】:
-
stackoverflow.com/questions/3856767/… 但不能保证? Android 知道这不应该在消费类设备上完成,因此他们并不真正支持它。
-
我目前正在使用 startForeground()。我希望可以使用任何其他设置。
-
为什么需要成为服务?对于一个只需要欺骗观众的假电话应用来说,一个活动就可以了,你可以让它在前台运行。
-
@x-code - 你的评论有点被打断了,但猜猜你在问什么,它需要是一项服务,因为应用程序需要在任意时间远程启动两小时的表演。
-
@user 对不起,我在句子中间按了发帖按钮。现在应该修好了。
标签: java android service foreground wakelock