2016-11-28 121 views
0

我想知道是否有可能实现以下功能:连续的Android后台服务

1)在指定的时间每24小时运行一次服务。

2)从执行某项操作的服务启动一个方法。

我假设我将不得不运行后台服务,但我不希望用户必须以任何方式启动它。它应该从用户第一次登录的那一刻开始持续运行,并且不能被禁用。我可以使用Android AlarmManager(https://developer.android.com/reference/android/app/AlarmManager.html)并禁用警报响应吗?

回答

1

您可以申请android.permission.RECEIVE_BOOT_COMPLETED的许可,并为其注册BroadcastReceiver。但是,您无法对用户执行此操作,他可能会强制停止应用程序和服务。
如果服务正在运行或正在启动,则不必通知用户,这是可选的,但不可取,例如,未知的电池/网络消耗。

+0

幸运的是,它是一小组朋友的私人应用程序,所以这是一个特别要求的功能,但我同意你的看法。看起来像要走的路。 – santafebound

1

而不是去Alaram管理器,你可以使用处理程序来执行你的任务,每24小时...而RECEIVE_BOOT_COMPLETED只会被触发,如果设备重新启动,因此在登录时启动服务......无论是服务它将被手动销毁...