目录结构

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

运行结果

更多相关文章

  1. android 获取 imei号码
  2. Android(安卓)Gradle Plugin指南(三)----依赖关系,Android库和多项
  3. Android通过HttpURLConnection上传多个文件至服务器 - 流传输
  4. Android之手机振动的设置
  5. Android设置拍照或者上传本地图片
  6. Android的ProgressBar以及自定义进度条
  7. 我的Android进阶之旅------>Android视频录制小例子
  8. Android--利用selector设置Button
  9. Android(安卓)设置全屏显示

随机推荐

  1. Java 自动提交 git
  2. java后端面试高薪必备知识点-WeakHashMap
  3. 做了 454 道 Java 面试题,我依然是个【青
  4. 最近学的css技术点总结
  5. 备一下 2020 年学习 Java 的 40 本书
  6. 优化博客页面访问速度
  7. ThreadLocal就是这么简单
  8. 迁到HTTPS这么麻烦,为什么还要折腾?
  9. 科班出生与自学的程序员,哪个强?
  10. 帆软报表自定义函数-取json数据