1.

private class AsyncServiceHandler extends Handler {

AsyncServiceHandler(android.os.Looper looper) {
super(looper);
}

@Override
public void handleMessage(Message msg) {
...........................................
case WifiManager.ENABLE_TRAFFIC_STATS_POLL: {
...........................................

}

private AsyncServiceHandler mAsyncServiceHandler;

mAsyncServiceHandler = new AsyncServiceHandler(wifiThread.getLooper());

Message msg;

msg = Message.obtain(mAsyncServiceHandler,WifiManager.ENABLE_TRAFFIC_STATS_POLL, 0, 0);

msg.sendToTarget();

这里Message.obtain表示obtain Message object from the global pool, 第一个参数表示发送的handler目标,第二个为what, 第三个为arg1, 第四个为arg2,看函数原型就知道了:

public static Message obtain(Handler h, int what, int arg1, int arg2) {
Message m = obtain();
m.target = h;
m.what = what;
m.arg1 = arg1;
m.arg2 = arg2;

return m;
}
最后调用msg.sendToTarget()将消息发送到AsyncServiceHandler中,AsyncServiceHandler继承并重写handleMessage方法,在handleMessage中根据switch处理接收到的消息


2.

Handler mhandler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
int what = msg.what;

switch(what){

case 2:

String shortFileNames = msg.getData().getString("packagename");

........................自己的处理方法............................

}

};

Message msg = mhandler.obtainMessage();
Bundle b = new Bundle();// 存放数据
msg.what = 2;
b.putString("packagename", shortfileNames.get(i));
msg.setData(b);
mhandler.sendMessage(msg); // 向Handler发送消息,更新UI

原理和上面1其实是一样的,也是从消息池中获取message,这样不用新new一个,可以节省资源,new Bundle()用来存放数据,然后mhandler.sendMessage将消息发送到Handler中















更多相关文章

  1. Android(安卓)开启关闭软键盘
  2. Android数据库升级、降级、创建(onCreate() onUpgrade() onDowng
  3. RecyclerView的canScrollVertically方法踩坑
  4. Property Anim详解
  5. AndroidGUI13:ViewTreeObserver的常用技巧
  6. onNewIntent 什么时候调用
  7. Android学习笔记-Activity的生命周期
  8. Android(安卓)加减
  9. Androidpn推送解决方案

随机推荐

  1. 编译可在Android上运行的glib库
  2. Android基础与手机历史
  3. androidhttp网络通信
  4. Android(安卓)Permission那些事
  5. Android(安卓)SMS(二)—— 读取短信保存到
  6. 修改Android(安卓)app图标(Android(安卓)
  7. android:configChanges属性
  8. 详解Android短信的发送和广播接收实现短
  9. Android之——申请应用系统管理员权限
  10. Android(安卓)NDK和OpenCV整合开发 (3) O