电话管理器(TelephonyManager)
电话管理器是一个管理手机通话状态,电话网络信息的服务类。
该类提供了大量的getXxx()方法来获取电话网络的相关信息
获取TelephonyManager对象的方式:
context.getSystemService(Context.TELEPHONY_SERVICE);
接下来就可以获取相关信息:
getDeviceId():获取设备编号
getDeviceSoftwareVersion():获取系统平台的版本
getNetworkOperator():获取网络运营商代号
getNetworkOperatorName():获取网络运营商名字
getPhoneType():获取手机网络类型
getCellLocation():获取设备所在位置
getSimCountryIso():获取SIM卡的国别
getSimSerialNumber():获取SIM卡序列号
getSimState():获取SIM卡的状态
getLine1Number():获取本地号码(联通和电信卡是可以的)
此外还提供了listen方法来监听通话状态,该方法可以监听手机来电信息。
manager.listen(listener, PhoneStateListener.LISTEN_CALL_STATE);
onCallStateChanged(int state,String incomingNumber)方法
state:是电话的状态,取值有
TelephonyManager.CALL_STATE_IDLE 挂电话和空闲状态
TelephonyManager.CALL_STATE_OFFHOOK 摘机状态
TelephonyManager.CALL_STATE_RINGING 来电状态:电话铃声响起的那段时间或正在通话又来新电,新来电话不得不等待的那段时间。
incomingNumber:是来电电话号码
注意:
需要加上读取电话状态的权限
<uses-permission android:name="android.permission.READ_PHONE_S