1
我有一種情況,在電源已連接到設備後,必須在N秒後啓動一些非UI操作。該操作也可以由用戶通過UI啓動。延遲操作和BroadcastReceiver
我在的AndroidManifest.xml定義一個BroadcastReceiver來監聽ACTION_POWER_CONNECTED。
我有一個服務,在onStartCommand上執行所需操作。我的問題是 - 當廣播觸發行動時,啓動該服務的正確方法是什麼?
我心裏有兩個選擇:
一次性計時器任務。不過,我認爲這可能是錯誤的,因爲根據文檔,我無法從BroadcastReceiver啓動任何異步任務。
重新設計服務:在onStartCommand
- 開始動作,如果動作是由用戶
- 計時器開始任務觸發,在定時器拍攝做動作 - 在1但裏面的服務同樣的邏輯 - 如果行動是由廣播觸發的。
我傾向於2.將代碼稍微複雜一些,但現在看來,這是唯一正確途徑。
-Lev
謝謝!我會檢查的。 – lstipakov