Looper looper = (handler == null) ? mContext.getMainLooper() : handler.getLooper

魔爱 2017-09-23 04:16:26
当handler==null的时候,mContext.getMainLooper()获取的是什么?
mHandler = new Handler(looper) {
@Override
public void handleMessage(Message msg) {
Log.d(TAG, "changzb LocalOnlyHotspotCallbackProxy: handle message what: "
+ msg.what + " msg: " + msg);

WifiManager manager = mWifiManager.get();
if (manager == null) {
Log.w(TAG, "LocalOnlyHotspotCallbackProxy: handle message post GC");
return;
}

switch (msg.what) {

将handler传进来以后,handlerMessage时的msg.what是怎么获取到的。

安卓源码中的方法startLocalOnlyHotspot(),在WifiManager.java中
...全文
410 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
魔爱 2017-09-28
  • 打赏
  • 举报
回复
恩恩,知道了,谢谢!
江三木洛 2017-09-24
  • 打赏
  • 举报
回复
当handler==null的时候,mContext.getMainLooper()获取的是主线程的Looper,主线程的Looper是系统自己建立的,所以我们可以直接在主线程中使用Handler handlerMessage时的msg.what是你传进来的Message设置的啊

80,337

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧