在开始提问之前,我想先这样说:我知道强制服务永远运行是一个坏主意......我根本不在乎。
此应用程序不供消费者使用。它不会出现在应用程序商店中。仅供我使用。
好吧,我有这台未使用的运行 4.0.3 (ICS) 的 HTC Sensation,并且我已自愿将其交给本地一家剧院执行一项任务。任务是让它在演出需要时按提示响起。我们不想在其中插入 SIM 卡,因为有人可能会在演出期间意外调用不应该响铃的电话。
因此,我创建了一个虚假的电话应用程序,该应用程序通过 TCP 从服务器接收信号,我已将服务器设置为通过 LAN 向设备发送信号。现在我让监听器在服务中无限循环中运行。但是,我仍然遇到服务不响应 TCP 信号的情况。
如果一些 Android 专家能给我一些提示/技巧,让这项服务尽可能可靠,我会非常感激,除了好的/坏的编码技术之外,我想尽一切可能使这项服务无法被杀死。这款手机现在只有一项任务,那就是无论如何,始终监听传入的消息。
到目前为止我所做的事情:
创建了一个服务(并从该服务启动了一个单独的线程) 使用 startForeground(id, notification); 激活DeviceAdmin并创建唤醒锁
你们还能想到什么吗?
最佳答案
我想到的第一个想法是设置一个 AlarmManager,每 5 秒检查一次服务是否正在运行。 This describes a method to see whether a service is running 。 如果服务没有运行,您可以重新启动它。
使用此方法和 startForeground() 方法可能有效。
亲切的问候
关于java - 如何创建 dalvik 不会杀死的 android 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23940208/