回答
如果要保持服務正常運行,請使用Service.startForeground
。那麼Android系統不會殺死它,除非在最極端的情況下。
您需要提供一個持續顯示給用戶的通知,以便他們知道他們正在運行可能使用資源的服務。這似乎是一個故意的(和明智的)設計決定。
只要你這樣做,只要你的ContentObserver
實際工作,應該根本沒有必要使用AlarmManager
來喚醒你的活動或服務代碼。只要內容發生變化,您的服務應該持續運行,並且應該調用您的代碼。
感謝您的建議「阿德里安泰勒」。其實我正在研究通過JSON webservices與個人服務器同步聯繫人的應用程序。我手動首先將所有數據插入到sqlite數據庫。然後我將所有聯繫人一個一個上傳到服務器。現在我面臨挑戰,如何識別特定的rawcontact已被更改? 。我用於同步的方法是正確的嗎? – user2007270
嗨,我不知道答案,對不起。不過,我希望您最好使用Android的內置框架來同步聯繫人 - 請參閱此處的同步提及:http://developer.android.com/guide/topics/providers/contacts-provider.html –
特別是那篇文章建議在'SampleSyncAdapter'中查找SDK示例,這可能會對您有所幫助。 –
- 1. 不允許啓動服務意向
- 2. 如何使用Robotium發送意向來啓動Android服務?
- 3. Android - 啓動Wackelock的鬧鐘未啓動意向服務
- 4. 啓動服務「android.intent.action.SEND」意圖
- 5. 意向服務,選擇要啓動的活動
- 6. 意向服務或服務
- 7. Android的服務:如何啓動服務
- 8. 「無法啓動服務意向書」從活動中的Android啓動服務時錯誤
- 9. 如何啓動Windows服務
- 10. 如何啓動openstack服務?
- 11. DBus如何啓動服務
- 12. 如何啓動Windows服務
- 13. 如何檢查已啓動的意向?
- 14. 如何「以意向啓動片段」?
- 15. 無法啓動服務意向廣播接收器的Android
- 16. java.lang.SecurityException異常:不允許啓動服務意向
- 17. java.lang.SecurityException異常:不允許啓動服務意向
- 18. 停止未決意向啓動的服務
- 19. 不允許啓動服務意向不不UID
- 20. 是否可以從線程啓動一個意向服務?
- 21. GcmBroadcastReceiver IllegalStateException異常:不允許啓動服務意向
- 22. Android意向服務
- 23. 無法啓動服務意圖
- 24. 無法啓動服務意圖?
- 25. 無法啓動服務意圖:initOpenCV
- 26. ComponentName - 無法啓動服務意圖 - GCM
- 27. asp.net開發服務器無意啓動
- 28. 無法啓動服務意圖與illegalArgumentException
- 29. AlarmManager無法啓動服務意圖
- 30. 從牆紙服務啓動意圖
我知道答案..但我不是Commonsware :( – dymmeh
dophie::)這個問題是開放給所有專家。 – user2007270