搜索引擎和Android开发者网站没有帮助,我想你可以帮我解决问题。
我想制作一个供个人使用的应用程序,它应该一直在旧平板电脑上运行(一直供电)。该应用程序将具有多个需要用户交互但不依赖于这些功能的功能,它应该运行后台作业以连续(实时!)检查某些内容,例如声音检测。它还应始终尝试连接网络上的其他设备。 这意味着工作几乎永远不会被杀死。我发现的一些评论建议使用AlarmManager或BroadcastReceiver。但是那些是由非常明确的触发器(时间或广播)触发的。我不希望这样,因为它应该一直持续执行它的任务。此后台作业还应该能够与我的应用程序的主活动进行通信,以报告其正在执行的操作并允许用户与其进行交互(例如,更改作业的设置)。
你知道怎么做到这一点吗? IntentService是否正确选择(希望它不会被杀死或者我应该让Activity重新启动它?)
谢谢!
答案 0 :(得分:1)
你知道如何实现这个目标吗?
使用修改后的Android版本构建您自己的自定义ROM,其中包含您的代码作为本机Linux守护程序。
否则,你想要什么在技术上是不可能的。
您可以使用前景Service
(不是IntentService
)并从START_STICKY
返回START_REDELIVER_INTENT
或onStartCommand()
来近距离接触。 Android可能会不时终止您的流程,但它会在一段时间后自动重启您的服务。该服务可以使用自己的后台线程来执行您正在尝试的任何操作。