麦子学院Android开发教程TelephonyManager类的使用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Android中经常会涉及到TelephonyManager类的使用,下面我们来看看相关的代码:
main.xml布局文件
java代码:
1.<?xml version="1.0" encoding="utf-8"?>
2.<LinearLayout
xmlns:android="/apk/res/android"
3.android:orientation="vertical"
4.android:layout_width="fill_parent"
5.android:layout_height="fill_parent">
6.
7.
8.<ScrollView
9.android:fillViewport="true"
10.android:layout_width="fill_parent"
11.android:layout_height="fill_parent">
12.
13.<ListView
14.android:id="@+id/listView"
15.android:layout_width="fill_parent"
16.android:layout_height="fill_parent" />
17.</ScrollView>
18.</LinearLayout>
复制代码
array.xml文件
java代码:
1.<?xml version="1.0" encoding="utf-8"?>
2.<resources>
3.
4.<string-array name="listItem">
5.<item>设备编号</item>
6.<item>SIM卡国别</item>
7.<item>SIM卡序列号</item>
8.<item>SIM卡状态</item>
9.<item>软件版本</item>
10.<item>网络运营商代号</item>
11.<item>网络运营商名称</item>
12.<item>手机制式</item>
13.<item>设备当前位置</item>
14.</string-array>
15.<string-array name="simState">
16.<item>状态未知</item>
17.<item>无SIM卡</item>
18.<item>被PIN加锁</item>
19.<item>被PUK加锁</item>
20.<item>被NetWork PIN加锁</item>
21.<item>已准备好</item>
22.</string-array>
23.<string-array name="phoneType">
24.<item>未知</item>
25.<item>GSM</item>
26.<item>CDMA</item>
27.</string-array>
28.</resources>
复制代码
清单文件
java代码:
1.<?xml version="1.0" encoding="utf-8"?>
2.
3.<manifest xmlns:android="/apk/res/android"
4.package="eoe.demo" android:versionCode="1"
5.android:versionName="1.0">
6.<application android:icon="@drawable/icon"
7.android:label="@string/app_name">
8.<activity android:name=".TelephonyManagerActivity"
9.android:label="@string/app_name">
10.<intent-filter>
11.<action android:name="android.intent.action.MAIN" />
12.
13.<category
14.android:name="UNCHER" />
15.</intent-filter>
16.</activity>
17.
18.</application>
19.<uses-sdk android:minSdkVersion="7" />
20.<uses-permission
android:name="android.permission.ACCESS_COARSE_LOCATION" /> 21.<uses-permission
android:name="android.permission.READ_PHONE_STATE" />
22.</manifest>
复制代码
TelephonyManagerActivity类
java代码:
1.package eoe.demo;
2.
3.import java.util.ArrayList;
4.import android.app.Activity;
5.import android.content.Context;
6.import android.os.Bundle;
7.import android.telephony.TelephonyManager;
8.import android.view.Gravity;
9.import android.view.View;
10.import android.view.ViewGroup;
11.import android.widget.BaseAdapter;
12.import android.widget.LinearLayout;
13.import android.widget.ListView;
14.import android.widget.TextView;
15.
16.public class TelephonyManagerActivity extends Activity {
17.private ListView listView=null;
18.private TelephonyManager tm=null;
19.private String[] phoneType=null;
20.private String[] simState=null;
21.private String[] listItems=null;
22.
23.ArrayList<String> listValues=new ArrayList<String>();
24.BaseAdapter adapter=new BaseAdapter(){
25.public int getCount() {
26.return listItems.length;
27.}
28.
29.public Object getItem(int position) {
30.return listItems[position];
31.}
32.
33.public long getItemId(int position) {
34.return position;
35.}
36.
37.public View getView(int position, View convertView, ViewGroup parent) {
38.LinearLayout ll=new LinearLayout(TelephonyManagerActivity.this);
39.ll.setOrientation(LinearLayout.VERTICAL);
40.TextView tvItem=new TextView(TelephonyManagerActivity.this);
Item.setTextSize(24);
Item.setText(listItems[position]);
Item.setGravity(Gravity.LEFT);//设置在父容器中的对齐方式
44.ll.addView(tvItem);
45.TextView tvValue=new TextView(TelephonyManagerActivity.this);
Value.setTextSize(18); //设置字体大小
Value.setText(listValues.get(position)); //设置显示的内容
Value.setPadding(0, 0, 10, 10); //设置四周边界
Value.setGravity(Gravity.RIGHT);
50.ll.addView(tvValue);
51.return ll;
52.}
53.
54.};
55.
56.@Override
57.public void onCreate(Bundle savedInstanceState) {
58.super.onCreate(savedInstanceState);
59.setContentView(yout.main);
60.listItems=getResources().getStringArray(R.array.listItem);
61.simState=getResources().getStringArray(R.array.simState);
62.phoneType=getResources().getStringArray(R.array.phoneType);
63.tm=(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
64.listView=(ListView)findViewById(R.id.listView);
65.initListValues();
66.listView.setAdapter(adapter);
67.}
68.
69./**
70.* 获取各个数据项的值
71.*/
72.public void initListValues(){
73.listValues.add(tm.getDeviceId());//获取设备编号
74.listValues.add(tm.getSimCountryIso());//获取SIM卡国别
75.listValues.add(tm.getSimSerialNumber());//获取SIM卡序列号
76.listValues.add(simState[tm.getSimState()]);//获取SIM卡状态
77.listValues.add((tm.getDeviceSoftwareVersion()!=null?tm.getDeviceSoftwar
eVersion():"未知"));
78.//获取软件版本
79.listValues.add(tm.getNetworkOperator());//获取网络运营商代号
80.listValues.add(tm.getNetworkOperatorName());//获取网络运营商名称
81.listValues.add(phoneType[tm.getPhoneType()]);//获取手机制式
82.listValues.add(tm.getCellLocation().toString());//获取设备当前位置
83.}
84.}
如需了解更多相关知识,请至麦子学院官网查询(/)。