原理也是Android异步消息处理机制,请看我的这篇博客
https://blog.csdn.net/yh18668197127/article/details/86224318
示例代码
接收信息的线程:
public class Runnable1 implements Runnable {
private static final String TAG = "Runnable1";
private Handler handler;
public Handler getHandler() {
return handler;
}
@SuppressLint("HandlerLeak")
@Override
public void run() {
Log.i(TAG, "run: 线程1开始");
Looper.prepare();
handler = new Handler(){
public void handleMessage(Message msg) {
//这里处理消息
Log.i(TAG, "handleMessage:收到消息 "+msg.what);
//只接受一次消息就退出Looper循环
handler.getLooper().quit();
};
};
Looper.loop();
Log.i(TAG, "run: "+Process.myTid());