TelephonyManager 可以取得当前的手机所在电信网络相关信息,System取得手机的相关信息与设置如蓝牙、无线网络的设置状态
示例程序运行示意图如下:
获取TelephonyManager 对象和使用android.provider.Settings.System 的方式如下
TelephonyManager telMgr = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
获取手机号码方法是 telMgr.getLine1Number(), 但在实际手机上,并不是都能顺利取得
注意:
telMgr.getNetworkCountryIso()(取得电信网络国别) 与 telMgr.getSimCountryIso()(取得SIM卡国别) 返回结果相同,在这里都是国别,
telMgr.getNetworkOperator()(取得电信公司代码 ) 与 telMgr.getSimOperator() (取得SIM卡供货商代码)返回结果相同,都是电信公司代码
----------------------
ContentResolver cv = EX05_24.this.getContentResolver();
String tmpS = System.getString(cv, name);
这里name 是想要获取的设置值的名称,例如蓝牙状态、WiFi 网络状态、飞行模式、数据漫游等
具体代码请参见 EX05_24 工程
下表列举android.provider.Settings.System 中的常数供参考
常数名称 |
说 明 |
AUTO_TIME |
在手机是否设置日期时间自动化(0 否 1 是) |
WIFI_ON |
手机WIFI 网络是否打开(0否 1 是) |
BLUETOOTH_ON |
手机蓝牙是否打开( 0否 1是) |
BLUETOOTH_DISCOVERABILITY |
远程设备是否可检测及连接手机蓝牙设备(0 不可连接或检测 1 可连接不可检测 2 可连接可检测) |
AIRPLANE_MODE_ON |
飞行模式是否打开(0 否 1 是) |
MODE_RINGER |
铃声模式是否打开(0 否 1 是) |
DATA_ROAMING |
数据漫游是否打开(0 否 1 是) |
DEFAULT_NOTIFICATION_URI |
Notification 发出时的默认URI |
DEFAULT_RINGTONE_URI |
默认铃声的URI |
TIME_12_24 |
日期显示模式(12: 12小时制 24: 24小时制 ) |