我正在制作一个由两部分组成的程序
服务组件将读取各种系统功能(CPU使用率,RAM使用率,正在运行的任务数,发送的消息数,拨打的电话数等),每隔预定的时间间隔可以说15分钟。并将这些读数/数据保存在数据库中。
活动组件将从SQL数据库文件中读取数据并处理该信息。
我的问题是
我必须创建什么样的服务才能永远保持活着,直到活动停止,它还会在系统重启后自动重启?
有没有人得到过将数据写入数据库的服务示例?
我可以从服务中调用父活动吗?
答案 0 :(得分:3)
听起来很标准Service
。阅读Service
lifecycle。
数目:
BroadcastReceiver
来监听BOOT_COMPLETED
在启动时启动服务的意图。Service
个对象是Context
个对象,因此您可以使用Activity
中的SQLite数据库执行任何操作。没有区别。Activity
中的标准startActivity()
方法从服务中启动Context
。如果您在启动时从Service
启动BroadcastReceiver
,则该服务是与任何Activity
无关的独立服务,因此没有父Activity
。另请注意,对于您声明的意图,Service
可能并非绝对必要。如果您只是偶尔做一些事情,那么您可能会遇到AlarmManager
警报。这样你就不会让Service
运行 - 并且消耗资源 - 因为你每15分钟只处理一次。