android telephonymanager 设计,Android中TelephonyManager类的用法案例详解

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

目录结构:

4a9b11d0e7ffd33c5cb2185a9d6c586f.png

main.xml布局文件:

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent">

android:layout_width="fill_parent"

android:layout_height="fill_parent">

android:layout_width="fill_parent"

android:layout_height="fill_parent" />

array.xml文件:

设备编号

SIM卡国别

SIM卡序列号

SIM卡状态

软件版本

网络运营商代号

网络运营商名称

手机制式

设备当前位置

状态未知

无SIM卡

被PIN加锁

被PUK加锁

被NetWork PIN加锁

已准备好

未知

GSM

CDMA

清单文件:

package="com.ljq.activity" android:versionCode="1"

android:versionName="1.0">

android:label="@string/app_name">

android:label="@string/app_name">

android:name="android.intent.category.LAUNCHER" />

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 listValues=new ArrayList();

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());//获取设备当前位置

}

}

运行结果:

90598a98a6b06533bcb0bc5c4a3fdea2.png

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值