android监听卡1电话,Android 监听 SIM 卡状态
判断是否包含 SIM 卡
/**
* 判断是否包含SIM卡
*
* @return 状态
*/
public static boolean hasSimCard(Context context) {
TelephonyManager telMgr = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
int simState = telMgr.getSimState();
boolean result = true;
switch (simState) {
case TelephonyManager.SIM_STATE_ABSENT:
result = false; // 没有SIM卡
break;
case TelephonyManager.SIM_STATE_UNKNOWN:
result = false; // 没有SIM卡
break;
}
Log.d(TAG, result ? "有SIM卡" : "无SIM卡");
return result;
}
各种状态:
TelephonyManager telMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
int simState = telMgr.getSimState();
switch (simState) {
case TelephonyManager.SIM_STATE_ABSENT:
// 无SIM卡
break;
case TelephonyManager.SIM_STATE_NETWORK_LOCKED:
// 锁定状态,需要网络的PIN码解锁
break;
case TelephonyManager.SIM_STATE_PIN_REQUIRED:
// 锁定状态,需要用户的PIN码解锁
break;
case TelephonyManager.SIM_STATE_PUK_REQUIRED:
// 锁定状态,需要用户的PUK码解锁
break;
case TelephonyManager.SIM_STATE_READY:
// 有SIM卡
break;
case TelephonyManager.SIM_STATE_UNKNOWN:
// 未知状态
break;
}
监听 SIM 卡状态改变的广播
返回SIM卡的状态,有效或者无效。
双卡中只要有一张卡的状态有效即返回状态为有效,两张卡都无效则返回无效。
public class SimStateReceive extends BroadcastReceiver {
private final static String ACTION_SIM_STATE_CHANGED = "android.intent.action.SIM_STATE_CHANGED";
private final static int SIM_VALID = 0;
private final static int SIM_INVALID = 1;
private int simState = SIM_INVALID;
public int getSimState() {
return simState;
}
@Override
public void onReceive(Context context, Intent intent) {
System.out.println("sim state changed");
if (intent.getAction().equals(ACTION_SIM_STATE_CHANGED)) {
TelephonyManager tm = (TelephonyManager)context.getSystemService(Service.TELEPHONY_SERVICE);
int state = tm.getSimState();
switch (state) {
case TelephonyManager.SIM_STATE_READY :
simState = SIM_VALID;
break;
case TelephonyManager.SIM_STATE_UNKNOWN :
case TelephonyManager.SIM_STATE_ABSENT :
case TelephonyManager.SIM_STATE_PIN_REQUIRED :
case TelephonyManager.SIM_STATE_PUK_REQUIRED :
case TelephonyManager.SIM_STATE_NETWORK_LOCKED :
default:
simState = SIM_INVALID;
break;
}
}
}
}
android监听卡1电话,Android 监听 SIM 卡状态相关推荐
- 【边做项目边学Android】手机安全卫士10-设置向导之绑定SIM卡
上回主要做了设置向导界面的界面设计,主要涉及到界面的布局和一些控件的使用.这次要做设置向导界面的功能具体实现. 首先,4个界面分别是(重复度很大,这里就不再贴到正文中了) /mobilesafe/re ...
- 小米5怎么安android,小米5怎么插卡 小米5手机安装sim卡图文教程
近日小米发布了今年的年度旗舰产品---小米5.该机采用了单卡槽双卡位设计,支持双卡双待,值一款支持双全网通手机,由于不少网友对小米5卡槽方面的安放不是特别清楚,所以对于后期入手这款机子,或者已经入手该 ...
- 苹果8为什么不显示卡的服务器,苹果8手机显示无SIM卡什么原因?iPhone8无SIM卡解决方法...
不知道大家的苹果手机是否出现这类问题,就是莫名其妙的手机显示无sim卡.有网友询问苹果8手机显示无SIM卡,重启飞行模式设置都试了没用,突然显示无SIM卡,不知道是不是硬件问题?关于iPhone8手机 ...
- 虚拟 sim 卡服务器,基于虚拟SIM卡的内置多虚拟SIM卡方法
1. 一种基于虚拟SIM卡的内置多虚拟SIM卡方法,其特征在于该方法首先,在可信执行 环境下划分一块区域,保存多张虚拟SIM卡的固定存放的数据.暂时存放的有关网络的数 据.相关的业务代码,手机把IMS ...
- 什么原因显示sim卡没服务器,苹果手机显示无sim卡是什么原因 苹果手机显示无sim卡解决方法...
不知道大家的 苹果 手机是否出现这类问题,就是莫名其妙的手机显示无sim卡这是怎么回事呢,大家都知道iphone是结合照相手机个人数码助理以及多媒体播放等等设备的手机,是因为这些齐全的功能导致的sim ...
- android 有sim卡,有光亦有暗:Android Q将更方便运营商锁定手机SIM卡
IT之家1月22日消息 在之前的新闻消息中,Android Q将有一些用户期待的积极变化,如系统层级的黑暗模式和新的权限设置.但负面往往暗藏在正面的背后,Android Q也有着消极的变化,因为新的代 ...
- Android实现SIM卡2拨打,从第二个SIM卡打电话(Call from second sim)
我有一个双卡Android手机. 我使用此代码来拨打电话: private void callBack(String phone, Context context) { Intent callInte ...
- Android 7.0 高通平台-telephony-机器无Sim卡情况下,获取SIM卡状态方法getSimState偶现为6,而不是1
TelephonyManager.java -------->getSimState接口 /** * Returns a constant indicating the state of the ...
- android关闭应用及获取运营商ISP,判断sim卡属于哪个运营商
android关闭应用及获取运营商ISP 1.AndroidManifest.xml <?xml version="1.0" encoding="utf-8&quo ...
最新文章
- BeanShell变量的基本范围
- Docker学习(1)——几张图快速了解Docker
- pandas.DataFrame.groupby
- 对计算机技术的发展方向研究,网络技术发展对计算机技术的影响
- 64Ubuntu报错Failed to get the adb version:
- python3多线程queue_Python多线程(3)——Queue模块
- 将非事务性资源绑定到JTA事务中的几种模式
- laravel mysql 配置,laravel5数据库配置及其注意事项
- idea通过数据库生成实体类插件_IDEA连接数据库自动生成实体类
- Flash Player版本相关问题
- 单片机实验报告实验七:定时器实验
- YouTube 深度神经网络在推荐系统上的应用
- 【学习笔记 31】 buu [0CTF 2016]piapiapia
- 问题 Q(1208): 【基础算法】倒酒问题
- iOS必备小技巧(非常的全)
- 亚马逊运营listing优化A+页面
- 设置JSP页脚版权标识
- 构造器(也称构造方法)
- 启动mongodb数据库服务
- 环信IM快速集成集成,实现客服功能(单聊)
热门文章
- 云计算-Micheal Miller 著 姜进磊 孙瑞志 向勇 史美林 译
- EKS日志收集方案-PLG(Promtail+Loki+Grafana)
- Lenovo system x3500 m5 安装显卡
- Win10找不到飞行模式开关怎么办?
- 基于Arduino的超声波悬浮
- Django Rest_framework 1(RESTRESTful)
- php错误处理视频教程,PHP错误与异常调试视频教程资源分享
- Netty in Action (十九) 第九章节 单元测试
- zedboard u-boot编译的心路历程
- 计算机视觉中的transformer模型创新思路总结