2016-11-28 70 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只會被觸發,如果設備重新啓動,因此在登錄時啓動服務......無論是服務它將被手動銷燬...