我上由兩個部分組成Android的長時間運行的服務和數據庫
程序工作服務組件將讀取發送各種系統功能(CPU使用率,內存使用率,正在運行的任務數,短信,撥打的電話等)每隔預定時間間隔說15分鐘。並將這些讀數/數據保存在數據庫中。
活動組件將從SQL數據庫文件讀取數據並處理該信息。
我的問題是
什麼樣的服務做我必須創建,將留永遠活着,直到它也應該自動系統重新啓動後重新啓動活動停止?
有沒有人得到的服務將數據寫入到數據庫的例子嗎?
我可以調用從服務父活動?
我上由兩個部分組成Android的長時間運行的服務和數據庫
程序工作服務組件將讀取發送各種系統功能(CPU使用率,內存使用率,正在運行的任務數,短信,撥打的電話等)每隔預定時間間隔說15分鐘。並將這些讀數/數據保存在數據庫中。
活動組件將從SQL數據庫文件讀取數據並處理該信息。
我的問題是
什麼樣的服務做我必須創建,將留永遠活着,直到它也應該自動系統重新啓動後重新啓動活動停止?
有沒有人得到的服務將數據寫入到數據庫的例子嗎?
我可以調用從服務父活動?
聽起來像一個相當標準的Service
。請閱讀Service
lifecycle。
答案:
BroadcastReceiver
,用於偵聽啓動時啓動服務的意圖BOOT_COMPLETED
。Service
對象是Context
對象,所以你可以做一個SQLite數據庫,你可以從一個Activity
做任何事情。沒有不同。startActivity()
方法Context
從服務中啓動Activity
。如果在啓動時從BroadcastReceiver
開始Service
,則它是一個獨立的服務,沒有連接到任何Activity
,所以沒有父母Activity
。請注意,Service
可能並不是絕對需要您陳述的意圖。如果你只做很少的事情,你可能會遇到AlarmManager
報警。這樣你就不會離開Service
運行 - 並消耗資源 - 對於你每15分鐘只處理一次的東西。
家長活動是我的程序的活動組成部分它會啓動服務...根據您的意見,我可以假設我可以通過AlarmManager在一段時間後自動啓動我的活動..我必須從系統中讀取各種功能..是否有可能從活動中完成所有功能有ANR(應用程序沒有響應)錯誤? – 2012-02-09 16:45:33
是的,'AlarmManager'能夠啓動任何東西。而且你是否得到ANR與你如何實現'Service'的啓動無關。 'Service'在相同的進程中運行,並在任何'Activity'的主線程中運行。如果由於「服務」處理而得到ANR,則需要將該處理分解爲不同的「線程」。 – 2012-02-09 16:49:03
哦,你真的需要接受一些答案之前有人會麻煩閱讀你的問題 – 2012-02-09 16:17:43
我只有在幾天前獲得標記答案的權限。你可以請直接我到我的問題,我沒有接受正確的答案 – 2012-02-13 13:57:13
http://stackoverflow.com/users/777593/khurram-majeed?tab=questions&sort=newest – 2012-02-13 14:23:44