目標:在AsyncTask
完成後更新小部件視圖。asynctask之後sendBroadcast(在onReceive小部件中啓動)完成
場景:小部件onReceive
收到用戶點擊的意圖。這將啓動一個AsyncTask
聯網操作。 interface
已經通過構造函數傳遞給AsyncTask
,如here所述。在interface
方法中,我試圖發送一個廣播,它會觸發小部件的方法onUpdate
,但我不認爲它正在觸發。
思想:我最好的猜測是,onReceive
又回來了,所以我試圖用它來sendBroadcast
的Context
不再可用。我在想我可以get()
AsyncTask
但我不想觸發ANR如果操作時間太長。如果我get(timeout, unit)
AsyncTask
,恐怕我有可能錯過任務的結束並且視圖不會被更新。
完成任務後更新小部件視圖的最佳方式是什麼?
解決方案:原來,我犯了一個錯誤的起草是Intent
我在廣播
+1。我製作我正在播放的意圖時犯了一個錯誤,這就是爲什麼我從未收到它。 – JB0x2D1