long blogs

进一步有进一步惊喜


  • Home
  • Archive
  • Tags
  •  

© 2025 long

Theme Typography by Makito

Proudly published with Hexo

Android-Handler组件

Posted at 2022-10-09 android 

实例化方式

有几种实例化方式已经过时,需要使用public Handler(@NonNull Looper looper, @Nullable Callback callback)的实例化方式。

looper可以从主线程里面获取.

1
getMainLooper()

callback除了直接使用new构建,也可以直接在主类上进行实现implements Handler.Callback接口,实现 public boolean handleMessage(@NonNull Message msg)函数。

然后初始化方式为:

1
handler = new Handler(getMainLooper(), this);

调用方式

需要发送Message对象让handler进行处理有一下几种方式。

  1. 直接构建Message对象
1
2
3
Message msg = new Message();
msg.what = MSG_SEND_INFO_TO_DEV;
handler.sendMessage(msg);
  1. 使用Message的obtain方法
1
handler.sendMessage(Message.obtain(handler, MSG_REFRESH_WIFI_INFO));
  1. 使用handler的obtainMessage方法
1
handler.obtainMessage(MSG_REFRESH_WIFI_INFO);

Share 

 Previous post: Android-BroadcastReceiver组件 Next post: Android-Toast组件 

© 2025 long

Theme Typography by Makito

Proudly published with Hexo