双SIM卡,Android监听SIM卡状态
来源:互联网 发布:java权限管理框架源码 编辑:程序博客网 时间:2024/05/18 23:28
最近在搞一个项目,其中有一块关于双SIM卡状态监听,在这一块上没有经验,在网上找了很多例子,但都是只是监听SIM卡改变状态,而我要的是不但要监听SIM状态改变,而且还要知道具体是哪张SIM卡状态改变,度娘找寻好久后,还是没有结果,于是便自行来研究下。
首先,SIM卡状态改变的action是android.intent.action.SIM_STATE_CHANGED,需要在Manifest.xml进行注册。
当receiver收到这个action广播时:
@Overridepublic void onReceive(Context context, Intent intent) { super.onReceive(context, intent); final String action = intent.getAction(); Log.i(TAG,"++++++Action:"+action); if("android.intent.action.SIM_STATE_CHANGED".equals(action)){ Log.d(TAG,"###############start"); setSimInfoByChange(context,intent); }}private void setSimInfoByChange(Context context,Intent intent){ //subid 卡ID int subId = intent.getIntExtra(PhoneConstants.SUBSCRIPTION_KEY, SubscriptionManager.INVALID_SUBSCRIPTION_ID); //soltId 卡槽ID 0:卡槽一 1:卡槽二 int soltId = intent.getIntExtra("slot",SOLTID); Log.d(TAG, " #######subId:"+subId); Bundle mBundle = intent.getExtras();//从中可以看到intent的发送过来的数据 Log.d(TAG, " #######mBundle:"+mBundle.toString()); String stateExtra = intent.getStringExtra(IccCardConstants.INTENT_KEY_ICC_STATE); if (stateExtra!=null) { if (stateExtra.equals("ABSENT")) { //卡拔出状态 SIM_STATE = 1; SimInfo = context.getString(R.string.cell_broadcast_widget_no_sim_card, "No SIM Cards"); } else if (stateExtra.equals("READY") || //卡正常状态 即可以读出卡信息 stateExtra.equals("IMSI") || stateExtra.equals("LOADED") ){ SIM_STATE = 0; }else if(stateExtra.equals("LOCKED") || //卡被锁状态 stateExtra.equals("NOT_READY") || stateExtra.equals("PIN")|| stateExtra.equals("PUK")){ SIM_STATE = 2; SimInfo = context.getString(R.string.cell_broadcast_widget_no_service,"No Services"); } } Log.d(TAG, " #######stateExtra:"+stateExtra+"+++++SimInfo:"+SimInfo); Log.d(TAG, " #######soltId:"+soltId);}
String stateExtra = intent.getStringExtra(IccCardConstants.INTENT_KEY_ICC_STATE);
这个方法可以获取SIM卡改变的状态情况,在icccardconstants的API中可以发现有这些状态:通过这个方法就可以将卡槽与广播进行相对应起来,这样就能区做我们想要做的事情了。刚开始写博客,写的有点乱,勿怪勿怪!
0 0
- 双SIM卡,Android监听SIM卡状态
- android SIM卡状态监听TelephonyManager
- android监听SIM状态
- android SIM卡状态
- android SIM卡状态
- Android 获取SIM卡状态
- Android获取SIM卡状态
- Android - 判断SIM卡状态
- android获取SIM卡状态
- Android-获取sim卡状态
- Android 判断 SIM卡 状态 并 读取 SIM卡 内容
- android,sim卡,TelephonyManager,手机SIM卡状态的获取
- Android判断SIM卡状态并读取SIM内容
- Android 查看SIM卡状态及SIM信息
- 【SIM】Android判断SIM卡状态并读取SIM卡内容
- 获取Android手机中SIM卡状态
- Android获取手机SIM卡状态
- android中判断SIM卡状态
- C++ typedef如何用于函数指针
- linux中 #chmod –R 777 * 是什么意思
- C++数字与字符串之间的转换
- python爬虫进阶
- 数组、链表等常用数据结构和集合浅解(java)
- 双SIM卡,Android监听SIM卡状态
- SSL 2293——暗黑游戏
- poj 3384 Feng Shui(半平面交)
- 每日推荐一首
- 详解CSS3中新增的内容属性:content
- python学习笔记-CSV文件读
- 采药
- 将二叉树拆成链表
- xlrd,xlwt模块安装