[英]Android Long Running Service and database
我正在研究一个包含两个部分的程序
服务组件将在每个预定的时间间隔(例如15分钟)内读取各种系统功能(CPU使用率,RAM使用率,正在运行的任务数,已发送的消息,发出的呼叫等)。 并将这些读数/数据保存在数据库中。
Activity组件将从SQL数据库文件中读取数据并处理该信息。
我的问题是
我必须创建什么样的服务,该服务将一直保持活动状态,直到被该活动停止为止,并且该服务也应在系统重启后自动重新启动?
有没有人得到一个服务写入数据库的例子?
我可以从服务中调用父活动吗?
听起来像一个相当标准的Service
。 阅读Service
生命周期 。
回答:
BroadcastReceiver
,它侦听BOOT_COMPLETED
意图以在引导时启动服务。 Service
对象是Context
对象,因此您可以对可以从Activity
执行的SQLite数据库执行任何操作。 没有不同。 Context
的标准startActivity()
方法从服务启动Activity
。 如果你开始的Service
从BroadcastReceiver
在启动时,它没有连接到任何一个独立的服务Activity
,所以没有父Activity
。 另请注意,对于您陈述的意图, Service
可能不是绝对必要的。 如果您只是偶尔做一些事情,您可能会遇到AlarmManager
警报。 这样你就不会让Service
运行 - 并且消耗资源 - 因为你每15分钟只处理一次。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.