我使用粘性的Android服務通過使用代碼片段在服務類如果應用程序管理器中的用戶停止應用程序,則希望重新啓動服務。
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return START_STICKY;
}
但只有重新啓動時應用程序獲取武力封閉的Android O/S,雖然當用戶強制停止應用從應用程序管理器,服務也終止。 但是,我的要求是,我想永遠保持運行服務,直到應用程序安裝在設備中。 任何人都可以幫助我嗎?
你的服務做什麼?如果它一直在運行,那麼就會出現設計問題,因爲這會消耗電池。防止用戶殺死你的服務讓我看起來像你正在做的事你不想讓用戶知道/控制... – Nicklas 2014-09-10 16:04:35
是的尼克拉斯,我明白這個問題,但它是客戶端的要求,它的應用程序功能,希望跟蹤登錄的用戶是否安裝了應用程序。 – Pankaj 2014-09-11 05:15:52
與其他解決方案相比,您可能仍然更適合使用不同的服務。您可以在卸載應用程序時註冊廣播,並向服務器發送消息。除此之外,如果服務器在當前時間內沒有收到設備發送的消息(如果用戶在卸載時沒有連接到互聯網),則可以認爲應用程序已卸載。就「登錄」狀態而言,你的意思是用戶是否登錄到應用程序或主動使用該設備?無論哪種情況,您都不需要服務來檢查這一點。 – Nicklas 2014-09-11 10:29:27