Android提供的系统服务之--TelephonyManager(电话管理器)
转载请注明出处——coder-pig
TelephonyManager的作用:
用于管理手机通话状态,获取电话信息(设备信息、sim卡信息以及网络信息),
侦听电话状态(呼叫状态服务状态、信号强度状态等)以及可以调用电话拨号器拨打电话!
如何获得TelephonyManager的服务对象:
TelephonyManager tManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
TelephonyManager的相关用法实例:
1.调用拨号器拨打电话号码:
- Uri uri=Uri.parse("tel:"+电话号码);
- Intent intent=new Intent(Intent.ACTION_DIAL,uri);
- startActivity(intent);
ps:调用的是系统的拨号界面哦!
2.获取Sim卡信息与网络信息
运行效果图:(模拟器下获取不了相关信息的哦,这里用的是真机哈!)
代码实现流程:
1.定义了一个存储状态名称的array.xml的数组资源文件;
2.布局定义了一个简单的listview,列表项是两个水平方向的textview
3.Activity界面中调用相关方法获得对应参数的值,再把数据绑定到listview上!
详细代码如下:
array.xml:
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <!-- 声明一个名为statusNames的字符串数组 -->
- <string-array name="statusNames">
- <item>设备编号</item>
- <item>软件版本</item>
- <item>网络运营商代号</item>
- <item>网络运营商名称</item>
- <item>手机制式</item>
- <item>设备当前位置</item>
- <item>SIM卡的国别</item>
- <item>SIM卡序列号</item>
- <item>SIM卡状态</item>
- </string-array>
- <!-- 声明一个名为simState的字符串数组 -->
- <string-array name="simState">
- <item>状态未知</item>
- <item>无SIM卡</item>
- <item>被PIN加锁</item>
- <item>被PUK加锁</item>
- <item>被NetWork PIN加锁</item>
- <item>已准备好</item>
- </string-array>
- <!-- 声明一个名为phoneType的字符串数组 -->
- <string-array name="phoneType">
- <item>未知</item>
- <item>GSM</item>
- <item>CDMA</item>
- </string-array>
- </resources>
activity_main.xml:
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:id="@+id/LinearLayout1"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical"
- tools:context="com.jay.example.getphonestatus.MainActivity" >
- <ListView
- android:layout_width="match_parent"