当前位置:   article > 正文

关于监听SIM卡状态变化广播判断SIM卡当前状态的方法_sim_state_changed

sim_state_changed

关于监听SIM卡状态变化广播判断SIM卡当前状态的方法

一、问题:

终端启动后,APP层检测SIM卡的注册状态,连续收到4个ACTION_SIM_STATE_CHANGED广播,获取其系统的SIM state 状态时发现都是处于 TelephonyManager.SIM_STATE_READY 状态,如图:
图一
需要找到为何在 TelephonyManager.SIM_STATE_READY 之后连续发送4次ACTION_SIM_STATE_CHANGED广播,SIM卡状态监听代码如图:
图二

二、代码跟踪:

跟踪Logcat发现开机时可以监听到如下4次ACTION_SIM_STATE_CHANGED广播,如下图:
在这里插入图片描述
系统确实发出了4次ACTION_SIM_STATE_CHANGED广播,但是SIM卡状态的变化如下:
NOT_READY --> READY --> IMSI --> LOAD
并且从Logcat日志打印的时间,跟客户给出的时间间隔相比较,比较吻合。找到该日志打印的地方( SimStateReceiver.java 源码文件中),添加日志以作判断

// An highlighted block
@Override 
public void onReceive(Context context, Intent intent) {
   
    final String action = intent.getAction();
    mContext 
  • 1
  • 2
  • 3
  • 4
  • 5
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/235645
推荐阅读
相关标签
  

闽ICP备14008679号