繁体   English   中英

Android长期运行服务和数据库

[英]Android Long Running Service and database

我正在研究一个包含两个部分的程序

服务组件将在每个预定的时间间隔(例如15分钟)内读取各种系统功能(CPU使用率,RAM使用率,正在运行的任务数,已发送的消息,发出的呼叫等)。 并将这些读数/数据保存在数据库中。

Activity组件将从SQL数据库文件中读取数据并处理该信息。

我的问题是

  1. 我必须创建什么样的服务,该服务将一直保持活动状态,直到被该活动停止为止,并且该服务也应在系统重启后自动重新启动?

  2. 有没有人得到一个服务写入数据库的例子?

  3. 我可以从服务中调用父活动吗?

听起来像一个相当标准的Service 阅读Service生命周期

回答:

  1. 任何服务都可以。 您将需要一个BroadcastReceiver ,它侦听BOOT_COMPLETED意图以在引导时启动服务。
  2. Service对象是Context对象,因此您可以对可以从Activity执行的SQLite数据库执行任何操作。 没有不同。
  3. 定义“调用”和“父活动”。 您可以通过Context的标准startActivity()方法从服务启动Activity 如果你开始的ServiceBroadcastReceiver在启动时,它没有连接到任何一个独立的服务Activity ,所以没有父Activity

另请注意,对于您陈述的意图, Service可能不是绝对必要的。 如果您只是偶尔做一些事情,您可能会遇到AlarmManager警报。 这样你就不会让Service运行 - 并且消耗资源 - 因为你每15分钟只处理一次。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM