2016-03-02 44 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()