Q
服務運行次數
1
A
回答
5
如果你是開始服務startService
然後第一次它的onCreate
方法將被調用,它已經多少次啓動服務並不重要,但它的方法onStartCommand(Intent, int, int)
將被調用尊重你的startService調用。無論您撥打startService
多少次,致電stopService
時都會停止服務。
不要忘記在停止服務器時釋放資源,線程。
你可以參考這個文檔:
http://developer.android.com/reference/android/app/Service.html
-1
可以輕鬆地檢查服務是否與下面的代碼
public boolean isServiceRunning() {
ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
if ("com.example.app.ServiceClassName".equals(service.service.getClassName())) {
return true;
}
}
return false;
}
運行時,您還可以在此處詳細瞭解服務的生命週期:http://developer.android.com/reference/android/app/Service.html#ProcessLifecycle
3
如果一個Android服務已經啓動,Android將不會再次啓動該服務。 例如呼叫:
Intent intent = new Intent(YourService.class.getName());
startService(intent);
...在幾個獨立的活動(結合IPC監聽器或諸如此類的東西),不會造成服務的新實例。您可以通過查看DDMS看到這一點,你應該看到類似:
com.domain.app
com.domain.app:remote
遠程條目是您的服務,而且只會出現一次,你也可以看到這下Android的設置,應用程序上運行的服務你的設備。
至於數據在服務重新啓動時被刪除,這是保存狀態問題,應該存儲任何想要在重新啓動後生存的數據(如殺死應用程序),有關更多詳細信息,請參見http://developer.android.com/guide/topics/data/data-storage.html。
相關問題
- 1. 每分鐘運行一次的服務
- 2. Android首次運行服務更新
- 3. SQL服務器運行光標兩次
- 4. 每30秒運行一次Android服務
- 5. 服務無法運行兩次
- 6. Windows服務,以每月一次運行
- 7. Java的定時服務運行多次
- 8. 運行集成測試再次運行服務器
- 9. 運行從服務
- 10. Sinatra服務器運行一次就執行代碼
- 11. 如何防止Android異步服務並行運行多次
- 12. 錯誤運行軌道服務器,服務器已經運行
- 13. 運行Web服務作爲Windows服務
- 14. 每週運行一次任務,在Heroku上只運行4次
- 15. 運行長時間運行的服務
- 16. 如何在網絡服務器上每分鐘運行一次服務
- 17. WCF數據服務運行時間EDMX
- 18. Firebase數據庫在服務中運行
- 19. Wso2數據服務未運行
- 20. 如何設置每次服務運行時WCF測試客戶端將運行
- 21. 如何防止服務再次運行,如果已經運行android
- 22. 運行函數x次數
- 23. 後臺運行服務器
- 24. 運行後臺服務ruby
- 25. 午夜運行windows服務
- 26. 運行wso2 Windows服務
- 27. 運行遠程服務器
- 28. Windows服務不斷運行
- 29. Android:連續運行服務
- 30. .Net Windows服務不運行
閱讀此問題.. –