2011-08-18 125 views
1

的消息隊列有人可以告訴我, 如何從消息隊列中獲取數據(消息)? 或者如何將消息從主線程發送到其他線程?android

感謝

回答

0

沒有任何其他線程..你可以孫中山它主線程或UI線程,使用Handler ..

創建處理程序,併發送一個Runnable對象作爲anarguement ..

9

如果您想要在一個線程上接收消息,您應該運行一個Looper並創建綁定到此循環的消息Handler。 UI線程默認有一個循環。有一個便利的類用於創建稱爲HandlerThread的loper的線程。這裏有一篇關於處理程序和循環的好文章:Android Guts: Intro to Loopers and Handlers

編輯

HandlerThread thread = new HandlerThread("Thread name"); 
thread.start(); 

Looper looper = thread.getLooper(); 
Handler handler = new Handler(looper) { 
    @Override 
    public void handleMessage(Message msg) { 
     switch(msg.what) { 
      case SOME_MESSAGE_ID: 
       // SOME_MESSAGE_ID is any int value 
       // do something 
       break; 
      // other cases 
     } 
    } 
}; 

handler.post(new Runnable() { 
    @Override 
    public void run() { 
     // this code will be executed on the created thread 
    } 
}); 

// Handler.handleMessage() will be executed on the created thread 
// after the previous Runnable is finished 
handler.sendEmptyMessage(SOME_MESSAGE_ID); 
+0

我想音頻記錄和使用消息隊列玩.. – user900591

+0

ü可以給我這一個適當的例子嗎? 謝謝...... – user900591

+0

我已經添加了一個例子。 – Michael