Android如何判断手机卡是SIM卡或者USIM卡
16lz
2021-01-22
我现在正在做中国移动的一个项目,现在需要判断手机卡的类型,我在网上搜到的代码为:
/获得SIMType
StringsimType="unknown";
//获得系统服务,从而取得sim数据
TelephonyManagertm=(TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);//获得手机SIMType
inttype=tm.getNetworkType();
//判断类型值,并且命名
//我的手机卡是联通USIM卡,在这儿取出来的值为10NETWORK_TYPE_HSPA
//所以取出来的是UIM其实就是未知
if(type==TelephonyManager.NETWORK_TYPE_UMTS){
simType="USIM";
//类型为UMTS定义为wcdma的USIM卡
}elseif(type==TelephonyManager.NETWORK_TYPE_GPRS){
simType="SIM";//类型为GPRS定义为GPRS的SIM卡
}elseif(
type==TelephonyManager.NETWORK_TYPE_EDGE){
simType="SIM";
//类型为EDGE定义为EDGE的SIM卡
}else{
simType="UIM";
//类型为unknown定义为cdma的UIM卡
}
这种方法可行但是不全面,欢迎广大同仁给于建设性的意见!
自己顶一下!期待!
/获得SIMType
StringsimType="unknown";
//获得系统服务,从而取得sim数据
TelephonyManagertm=(TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);//获得手机SIMType
inttype=tm.getNetworkType();
//判断类型值,并且命名
//我的手机卡是联通USIM卡,在这儿取出来的值为10NETWORK_TYPE_HSPA
//所以取出来的是UIM其实就是未知
if(type==TelephonyManager.NETWORK_TYPE_UMTS){
simType="USIM";
//类型为UMTS定义为wcdma的USIM卡
}elseif(type==TelephonyManager.NETWORK_TYPE_GPRS){
simType="SIM";//类型为GPRS定义为GPRS的SIM卡
}elseif(
type==TelephonyManager.NETWORK_TYPE_EDGE){
simType="SIM";
//类型为EDGE定义为EDGE的SIM卡
}else{
simType="UIM";
//类型为unknown定义为cdma的UIM卡
}
这种方法可行但是不全面,欢迎广大同仁给于建设性的意见!
11 个解决方案
#1
自己顶一下!期待!
更多相关文章
- Android 中文件类型与MIME的匹配表
- 多个dex文件定义了Landroid/支持/v13/app/FragmentCompatICS。
- 自定义BaseAdapter,在主Activity页面调用显示歌曲列表
- Android 自定义控件高度设置onMeasure方法
- Android自定义View-----上下拖动布局--SlideContentLayout
- Android从零开搞系列:自定义View(15)仿天天美剧拖动卡片的效果(下)
- DialogFragment自定义dialog的位置和大小
- 如何执行删除请求而不返回类型或回调?(改造)
- 如何使用2个旋转圆圈获得与ICS相同的未定义ProgressBar?