其他应用如何让服务永久运行?

时间:2017-06-22 03:58:20

标签: android android-service

这与我问的另一个问题类似,我想知道其他应用程序如drupe拨号器如何在不在前台时保持其服务永久运行。因为我已经使用了作业服务,报警管理器,START_STICKY以及其他一切来试图让我的服务保持活着但它总是被操作系统停止。

2 个答案:

答案 0 :(得分:0)

您可以将服务作为"前景"并且在低内存条件下不会被系统杀死。问题是您需要通过通知向用户显示该行为。这是音乐播放器在您启动其他应用时用于背景和活动的方式。

Foreground Services

答案 1 :(得分:0)

你提到的应用程序(Drupe Dialer)是拨号器。它可能正在收听广播,并且每次都通过检查它是否已启动来启动服务。

要回答您的问题,您需要将服务保持为START_STICKY,以便在操作系统终止后重新启动它。但是AlarmManager在设备睡眠状态下不起作用,并且打瞌睡将阻止它在后台运行。

真正的问题是;为什么要保持运行?这可能会回答你关于你想做什么的问题。

  • 如果是通讯类型的应用程序,您将需要使用类似的东西 GCM。
  • 如果基于某些事件的运行后台工作,您可能会 想要在BroadcastReceiver中启动服务。

这取决于你正在撰写的应用程序。