我正在開發一個應用程序,該應用程序在啓動時啓動使用服務登錄到我的服務器(需要通過Facebook登錄的活動)的活動(使用startService )。此服務建立XMPP偵聽器,然後不做任何事情,只是等待連接。我希望此服務在設備運行時始終運行。即使應用程序已停止,在啓動時仍保持服務運行
問題是活動在一段時間後停止,我的服務也停止。該服務返回START_STICKY,所以我期待它掛起。除了等待連接之外,該服務也不會執行任何操作。
活動具有的屬性: 機器人:excludeFromRecents = 「真」 機器人:noHistory = 「真」 機器人:launchMode = 「singleInstance」
,使其不會在任務列表中顯示出來(當用戶長按主頁按鈕時)。
當用戶長按主頁按鈕並且服務也結束時,活動停止。我認爲它可能退出了應用程序,這就是爲什麼服務也結束了。我找不到任何方法阻止活動停止。也許因爲上述屬性而停止。
那麼我能做些什麼來保持服務始終運行。我如何保持應用程序不被移除。我在某處讀到,如果我在服務中保留一個while循環,那麼START_STICKY可以保持服務? 我可以使用AlarmManager啓動服務,但我不希望它輕鬆停止,然後每次都必須重新啓動它。
我不想運行前臺服務。由於我使用的不是IPC的現有代碼,因此無法在其他進程中運行該服務。任何幫助將不勝感激。謝謝。