我在我的android應用程序中有一個服務,我需要它永遠不會停止。 如何標記我的服務,以便用戶永遠不會停止它? 如果用戶轉到:「設置 - 應用程序 - 運行服務 - 我的服務」,然後單擊「停止」,我的服務不應停止。 我該怎麼做?如何標記我的Android服務不會被用戶阻止?
回答
您無法阻止停止服務。您也無法阻止某人強制關閉您的應用。即使可能,用戶仍然可以通過卸載您的應用程序來終止您的服務。爲什麼你想要服務不被阻止?
第二次以爲你可以有兩個服務,通過檢查ActivityManager.getRunningServices()定期監視對方。當一個服務被殺時另一個服務可能會重新啓動它。這可能會被視爲惡意活動,你可能會收到非常負面的評論。
我要回避明顯的問題:
你爲什麼要這麼做?
並給你一個可行的答案。你需要兩項服務。每一個監視另一個。如果用戶殺死服務A,則服務B重新啓動它。如果用戶殺死服務B,則服務A重新啓動它。
服務將不得不非常迅速地作出響應並重新啓動服務。這將防止用戶立即殺死他們。所以你需要設計一個非常快速的心跳服務,但它應該是可能的。當然,這不會阻止用戶簡單地卸載您的應用程序。
此應用程序不會因爲是企業應用程序而被卸載,並且僅用於企業設備(手機或平板電腦)。 我的應用程序發送此設備的位置。 –
這不起作用,就好像用戶強制停止應用程序,兩項服務都不會再運行,所有帶有AlarmManager的預定警報都將被移除,等等。 – CommonsWare
我同意 - 強制停止應用程序將停止所有服務。這種解決方案只有在用戶部隊停止服務時纔會起作用,而不是整個應用程序。要解決這個問題,那麼你必須有兩個應用程序,每個應用程序都有我描述的服務。由於這是針對企業設備的,因此要求不會出現問題。 –
「我爲用戶而戰」。
我會沮喪的應用程序,不讓我取消它正在運行的服務。
我不能想到一個用例,其中應用程序(不是在系統中的東西)應該防止用戶取消某些東西。當然,你應該通知用戶服務沒有運行,並提供一個簡單的方法來重啓它。
- 1. 爲什麼我的服務會阻止用戶界面?
- 2. 「START_STICKY」服務會阻止Android睡覺嗎?
- 3. 應該如何阻止需要阻止但不是由客戶端的服務?
- 4. Android服務不會停止
- 5. 我的服務不被破壞 - 如何停止服務
- 6. 我的應用程序(服務器/客戶端)在使用Readline後被阻止
- 7. 會話被阻止
- 8. 來自Google用戶的PHPMailer被我的服務器阻止了嗎?
- 9. 如何阻止我的apache2服務器提供missile_launch_codes.ini服務?
- 10. 查詢用戶被阻止
- 11. 如何阻止應用程序/服務被破壞?
- 12. SendGrid被Yahoo郵件服務器阻止
- 13. 阻止Android服務的多個副本
- 14. 如何阻止REST服務匿名用戶(ESRI)
- 15. 當corba服務器進程停止時,客戶端調用被阻止
- 16. 如何實現引擎類,它不會阻止它的用戶
- 17. Android O:服務未被後臺執行限制所阻止
- 18. Android阻止服務被綁定,直到異步操作完成
- 19. 阻止訪問我的Apache服務器
- 20. 我的服務不會停止
- 21. 被阻止的用戶的Firebase規則
- 22. 如何阻止我的線程,如果我的服務也停止了,我會怎麼做?
- 23. 如何阻止我的標題被歪曲? (HTML/CSS)
- 24. 被阻止的系統調用不會讓SIGKILL終止進程
- 25. 如何阻止用戶?
- 26. 服務不會停止在android
- 27. Android服務永遠不會停止
- 28. Mongo找到未被阻止的用戶
- 29. AlertDialog不被阻止
- 30. 服務不會被殺無論如何
我的服務在給定的時間間隔內發送設備的地理位置(lat和long)。 –
服務是要走的路,但沒有任何理由阻止用戶殺死它。 Android已經警告用戶,查殺服務可能會導致應用程序發生故障。 – Samuel
好的,謝謝。我去用你的想法使用兩種服務。 非常,非常感謝! –