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. 每30秒運行一次Android服務
- 2. SQL服務器運行光標兩次
- 3. Android首次運行服務更新
- 4. Java的定時服務運行多次
- 5. Windows服務,以每月一次運行
- 6. 運行集成測試再次運行服務器
- 7. 運行從服務
- 8. Sinatra服務器運行一次就執行代碼
- 9. 錯誤運行軌道服務器,服務器已經運行
- 10. Firebase數據庫在服務中運行
- 11. Wso2數據服務未運行
- 12. Apache服務器運行
- 13. 服務器運行java servlet
- 14. 運行odoo作爲服務
- 15. 24小時運行服務
- 16. 服務類不運行
- 17. 運行遠程服務器
- 18. 運行多個服務
- 19. 運行後臺服務ruby
- 20. Windows服務不斷運行
- 21. 從winform運行windows服務
- 22. 服務運行然後死
- 23. C#Windows服務運行
- 24. 運行多個服務
- 25. EXE從服務器運行
- 26. 從Gradle運行服務
- 27. .Net Windows服務不運行
- 28. 錯誤運行「Jekyll服務」
- 29. 我作爲服務運行
- 30. 午夜運行windows服務
閱讀此問題.. –