本文以案例形式分析了Android中TelephonyManager类的用法。分享给大家供大家参考。具体如下:
目录结构:

main.xml布局文件:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical" android:layout_width="fill_parent"android:layout_height="fill_parent"><ScrollView android:fillViewport="true"android:layout_width="fill_parent"android:layout_height="fill_parent"><ListView android:id="@+id/listView"android:layout_width="fill_parent"android:layout_height="fill_parent" /></ScrollView></LinearLayout>
array.xml文件:
<?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>
清单文件:
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.ljq.activity" android:versionCode="1"android:versionName="1.0"><application android:icon="@drawable/icon"android:label="@string/app_name"><activity android:name=".TelephonyManagerActivity"android:label="@string/app_name"><intent-filter><action android:name="android.intent.action.MAIN" /><categoryandroid:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application><uses-sdk android:minSdkVersion="7" /><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><uses-permission android:name="android.permission.READ_PHONE_STATE" /></manifest>
TelephonyManagerActivity类:
package com.ljq.activity;import java.util.ArrayList;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.telephony.TelephonyManager;import android.view.Gravity;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.LinearLayout;import android.widget.ListView;import android.widget.TextView;public class TelephonyManagerActivity extends Activity {private ListView listView=null;private TelephonyManager tm=null;private String[] phoneType=null;private String[] simState=null;private String[] listItems=null;ArrayList<String> listValues=new ArrayList<String>();BaseAdapter adapter=new BaseAdapter(){public int getCount() {return listItems.length;}public Object getItem(int position) {return listItems[position];}public long getItemId(int position) {return position;}public View getView(int position, View convertView, ViewGroup parent) {LinearLayout ll=new LinearLayout(TelephonyManagerActivity.this);ll.setOrientation(LinearLayout.VERTICAL);TextView tvItem=new TextView(TelephonyManagerActivity.this);tvItem.setTextSize(24);tvItem.setText(listItems[position]);tvItem.setGravity(Gravity.LEFT);//设置在父容器中的对齐方式ll.addView(tvItem);TextView tvValue=new TextView(TelephonyManagerActivity.this);tvValue.setTextSize(18);//设置字体大小tvValue.setText(listValues.get(position));//设置显示的内容tvValue.setPadding(0, 0, 10, 10);//设置四周边界tvValue.setGravity(Gravity.RIGHT);ll.addView(tvValue);return ll;}};@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);listItems=getResources().getStringArray(R.array.listItem);simState=getResources().getStringArray(R.array.simState);phoneType=getResources().getStringArray(R.array.phoneType);tm=(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);listView=(ListView)findViewById(R.id.listView);initListValues();listView.setAdapter(adapter);}/** * 获取各个数据项的值 */public void initListValues(){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());//获取设备当前位置}}
运行结果:

希望本文所述对大家的Android程序设计有所帮助。