TelephonyManager可以获取手机的相关信息和状态。下面介绍这个类的常用方法:
新建一个项目,修改main布局文件:
- XML/HTML代码
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schema...android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical" >
- <ListView
- android:id="@+id/listView"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent">
- </ListView>
- </LinearLayout>
定义一个字符串数组,方便调用。在res目录中的values目录创建一个array.xml文件:
- XML/HTML代码
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <string-array name="listItem">
- <item>设备编号</item>
- <item>SIM卡国别</item>
- <item>SIM卡序列号</item>
- <item>SIM卡状态</item>
- <item>软件版本</item>
- <item>网络运营商代号</item>
- <item>网络运营商名称</item>
- <item>手机制式</item>
- <item>设备当前位置</item>
- </string-array>
- <string-array name="simState">
- <item>状态未知</item>
- <item>无SIM卡</item>
- <item>被PIN加锁</item>
- <item>被PUK加锁</item>
- <item>被NetWork PIN加锁</item>
- <item>已准备好</item>
- </string-array>
- <string-array name="phoneType">
- <item>未知</item>
- <item>GSM</item>
- <item>CDMA</item>
- </string-array>
- </resources>
在AndroidManifest.xml配置文件中声明权限:
- XML/HTML代码
- <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
- <uses-permission android:name="android.permission.READ_PHONE_STATE" />
TelephonyManagerActivity类,获取手机的相关信息并添加到ListView中显示:
- Java代码
- listValues.add(tm.getDeviceId());//获取设备编号
- listValues.add(tm.getSimCountryIso());//获取SIM卡国别
- listValues.add(tm.getSimSerialNumber());//获取SIM卡序列号
- listValues.add(simState[tm.getSimState()]);//获取SIM卡状态
- listValues.add((tm.getDeviceSoftwareVersion() != null ?
- tm.getDeviceSoftwareVersion():"未知"));//获取软件版本
- listValues.add(tm.getNetworkOperator());//获取网络运营商代号
- listValues.add(tm.getNetworkOperatorName());//获取网络运营商名称
- listValues.add(phoneType[tm.getPhoneType()]);//获取手机制式
- listValues.add(tm.getCellLocation().toString());//获取设备当前位置
转载于:https://blog.51cto.com/06peng/962827