本文以案例形式分析了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" /> <category android: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; } }; @Override public 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程序設計有所幫助。
新聞熱點
疑難解答
圖片精選