1,一开始用的TelephonyManager.ACTION_SIM_CARD_STATE_CHANGED.equals(atcion)
用来监听SIM卡插拔,但有一个问题,就是插进去之后,可以直接获取到当前SIM卡默认的getDisplayName() ,这个值的默认的"SIM CARD 1 " 和 “SIM CARD 2”
,接下来不会继续更新,因为插拔的瞬间不会直接读取到运营商的名字,那用handler 延时处理呢?试过了,大概率性还是不会更新。
2.无意中发现另外一个广播:action.equals(TelephonyIntents.ACTION_SIM_STATE_CHANGED)
,动态注册先,510 IntentFilter filter = new IntentFilter(); 515 filter.addAction(TelephonyIntents.ACTION_SIM_STATE_CHANGED); 517 mContext.registerReceiver(mReceiver, filter);
然后继续执行更新textview ,setText(sir0.getDisplayName())。
也不需要用handler,自动识别到正确的运营商信息,识别过程中会显示 默认的"SIM CARD 1 " 和 “SIM CARD 2”