2016-03-02 49 views
0

我正在更新我的UIpublishProgress()更清晰我正在更新我的RecyclerView以從雲端拍攝的歌曲,而我的列表更新時我想播放一首或兩首歌曲,但是我的廣播沒有發送到service,直到AsyncTask沒有完成,但highlightRecyclerView中的歌曲和更新UI的一些功能工作。asynctask正在運行時使用UI線程

有沒有辦法如何發送broadcast,而async task正在運行?

回答

0

聽起來好像你想播放從雲端返回的歌曲,也許是第一個,一旦它從雲中被檢索出來。嘗試使用處理程序將要播放的歌曲發送回UI線程。

添加這樣的代碼到你的活動:

Handler handler = new Handler() { 
     @Override 
     public void handleMessage(Message msg) { 
      // Play song based on message 
     } 
    }; 

然後在您的publishProgress方法來發送消息,像這樣:

Message msg = handler.obtainMessage(); 
Bundle b = new Bundle(); 
b.putString("message", "value you need"); 
msg(b);  
sendMessage(msg) 
0

我已經迫使asynctask並行運行解決我的問題用方法executeOnExecutor()