Android中TelephonyMnager的使用
2015-11-18 12:55
288 查看
TelephonyMnager的工作以及获取手机信息所需要的权限
获取手机类型CDMA/ GSM/无
判断手机是否在漫游,如果漫游返回true
获取SIM卡的状态
获取网络信息
获取SIM卡的信息
翻译文章:Using Telephony Manager In Android with Example
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
//获取TelephonyMnager对象 TelephonyManager tm=(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); //获取设备id String deviceId = tm.getDeviceId(); //获取SIM卡序列号 String SIMSerialNumber=tm.getSimSerialNumber(); //获得网络国家ISO编码 String networkCountryISO=tm.getNetworkCountryIso(); //获取SIM国家ISO代码 String SIMCountryISO=tm.getSimCountryIso(); //获取该设备的软件版本 String softwareVersion=tm.getDeviceSoftwareVersion() //获取语音信箱号码 String voiceMailNumber=tm.getVoiceMailNumber();
获取手机类型CDMA/ GSM/无
int phoneType=tm.getPhoneType(); switch (phoneType) { case (TelephonyManager.PHONE_TYPE_CDMA): // your code break; case (TelephonyManager.PHONE_TYPE_GSM) // your code break; case (TelephonyManager.PHONE_TYPE_NONE): // your code break; }
判断手机是否在漫游,如果漫游返回true
boolean isRoaming=tm.isNetworkRoaming(); if(isRoaming) phoneDetails+="\nIs In Roaming : "+"YES"; else phoneDetails+="\nIs In Roaming : "+"NO";
获取SIM卡的状态
int SIMState=tm.getSimState(); switch(SIMState) { case TelephonyManager.SIM_STATE_ABSENT : // your code break; case TelephonyManager.SIM_STATE_NETWORK_LOCKED : // your code break; case TelephonyManager.SIM_STATE_PIN_REQUIRED : // your code break; case TelephonyManager.SIM_STATE_PUK_REQUIRED : // your code break; case TelephonyManager.SIM_STATE_READY : // your code break; case TelephonyManager.SIM_STATE_UNKNOWN : // your code break; }
获取网络信息
// Get connected network country ISO code String networkCountry = telephonyManager.getNetworkCountryIso(); // Get the connected network operator ID (MCC + MNC) String networkOperatorId = telephonyManager.getNetworkOperator(); // Get the connected network operator name String networkName = telephonyManager.getNetworkOperatorName(); // Get the type of network you are connected with int networkType = telephonyManager.getNetworkType(); switch (networkType) { case (TelephonyManager.NETWORK_TYPE_1xRTT) :" Your Code ": break; case (TelephonyManager.NETWORK_TYPE_CDMA) :" Your Code ": break; case (TelephonyManager.NETWORK_TYPE_EDGE) : " Your Code ": break; case (TelephonyManager.NETWORK_TYPE_EVDO_0) :" Your Code ": break;
获取SIM卡的信息
int simState = telephonyManager.getSimState(); switch (simState) { case (TelephonyManager.SIM_STATE_ABSENT): break; case (TelephonyManager.SIM_STATE_NETWORK_LOCKED): break; case (TelephonyManager.SIM_STATE_PIN_REQUIRED): break; case (TelephonyManager.SIM_STATE_PUK_REQUIRED): break; case (TelephonyManager.SIM_STATE_UNKNOWN): break; case (TelephonyManager.SIM_STATE_READY): { // Get the SIM country ISO code String simCountry = telephonyManager.getSimCountryIso(); // Get the operator code of the active SIM (MCC + MNC) String simOperatorCode = telephonyManager.getSimOperator(); // Get the name of the SIM operator String simOperatorName = telephonyManager.getSimOperatorName(); // -- Requires READ_PHONE_STATE uses-permission -- // Get the SIM’s serial number String simSerial = telephonyManager.getSimSerialNumber(); } }
翻译文章:Using Telephony Manager In Android with Example
相关文章推荐
- Android线程间通信(一):Message
- android事件分发机制
- android-Viewflow开源项目学习
- JNI学习积累之三 ---- 操作JNI函数以及复杂对象传递
- JNI学习积累之一 ---- 常用函数大全
- Android编程根据系列图片绘制动画实例总结
- Android AIDL的简单例子
- 一篇文章看懂Android学习最佳路线
- 疯狂Android之图片浏览器
- Android编程向服务器发送请求时出现中文乱码问题的解决方法
- android中onInterceptTouchEvent()方法详解
- 54、Android 粒子效果之雨(下雨的效果)
- Android 内核解剖 - AMS(Activity Manager Service)
- Android编程实现QQ表情的发送和接收完整实例(附源码)
- Android开发教程:数据储存之SharedPreferences
- 关于在5.0上沉浸式布局虚拟按键的问题
- 关于Android生命周期方法调用return的问题
- 说说Android无限轮播的那些事
- android源码浅析--AlertController
- Android Design Support Library 的 代码实验——几行代码,让你的 APP 变得花俏