1,主程序:
package xom.xia;
import java.util.ArrayList;
import java.util.List;
import android.app.ListActivity;
import android.os.Bundle;
import android.telephony.TelephonyManager;
/**
* android的API中TelephonyManager的类对象,
* 提供了几个方法可以快速取得SIM卡的状态及相关信息
* @author Administrator
*
*/
public class TelephonyManagerActivity extends ListActivity {
private TelephonyManager telephonyManager;
private List<String> item = new ArrayList<String>();
private List<String> value = new ArrayList<String>();
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
telephonyManager = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
/**
* 将取得的信息写入List中
*/
//1,取得SIM卡的状态
item.add(getResources().getText(R.string.str_sim_state).toString());
if(telephonyManager.getSimState() == telephonyManager.SIM_STATE_READY){
value.add("良好");
}else if(telephonyManager.getSimState() == telephonyManager.SIM_STATE_ABSENT){
value.add("无SIM卡");
}else{
value.add("SIM卡被锁或未知状态");
}
//2,取得SIM卡号
item.add(getResources().getText(R.string.str_sim_card_id).toString());
if(telephonyManager.getSimSerialNumber() != null){
value.add(telephonyManager.getSimSerialNumber());
}else {
value.add("无法取得");
}
//3,取得SIM卡供货商代码
item.add(getResources().getText(R.string.str_sim_supplier_code).toString());
if(telephonyManager.getSimOperator().equals("")){
value.add("无法取得");
}else{
value.add(telephonyManager.getSimOperator());
}
//4,取得SIM卡供应商的名称
item.add(getResources().getText(R.string.str_sim_supplier_name).toString());
if(telephonyManager.getSimOperatorName().equals("")){
value.add("无法取得");
}else{
value.add(telephonyManager.getSimOperatorName());
}
//5,取得SIM卡国别
item.add(getResources().getText(R.string.str_sim_area).toString());
if(telephonyManager.getSimCountryIso().equals("")){
value.add("无法取得");
}else{
value.add(telephonyManager.getSimCountryIso());
}
//6,最后使用自定义的容器MyAdapter来将数据传入ListActivity
setListAdapter(new MyAdapter(this,item,value));
}
}
2,容器类MyAdapter,package xom.xia;
import java.util.List;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListAdapter;
import android.widget.TextView;
public class MyAdapter extends BaseAdapter implements ListAdapter {
/* 声明变量 */
private LayoutInflater layoutInflater;
private List<String> items;
private List<String> values;
public MyAdapter(Context context,List<String> items,List<String> values){
this.layoutInflater = LayoutInflater.from(context);
this.items = items;
this.values = values;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return items.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder holder;
if(convertView == null){
/*
* 使用自定义的result作为Layout,
*/
convertView = layoutInflater.inflate(R.layout.result, null);
/*
* 初始化holder的text和icon
*/
holder = new ViewHolder();
holder.text1 = (TextView)convertView.findViewById(R.id.myTextVivew);
holder.text2 = (TextView)convertView.findViewById(R.id.myText2);
convertView.setTag(holder);
}else{
holder = (ViewHolder) convertView.getTag();
}
/* 设定要显示的信息 */
holder.text1.setText(items.get(position).toString());
holder.text2.setText(values.get(position).toString());
return convertView;
}
private class ViewHolder {
/* text1:信息名称
* text2:信息内容 */
TextView text1;
TextView text2;
}
}
3,文件权限的配置:<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
- 大小: 28.9 KB
分享到:
相关推荐
9. 通信模块的初始化:由于SIM卡容量很小,因此在接收短信时,需将新信息直接通过串口传送到单片机,不存储在SIM卡内,但还需要打开传送回报,以便单片机及时读取短信。 本文设计的基于GSM的无人值守停车场管理系统...
5.18 取得SIM卡内的信息 5.19 调用拨号按钮 5.20 DPAD按键处理 5.21 任务 .管.理. 器正在运行的程序 5.22 动态更改屏幕方向 5.23 系统设置更改事件 5.24 取得电信网络与手机...
5.18 取得SIM卡内的信息——TelephonyManager的应用 5.19 调用拨号按钮——打电话CALL_BUTTON 5.20 DPAD按键处理——onKeyDown事件与Layout坐标交互 5.21 任务管理器正在运行的程序——RunningTaskInfo 5.22 动态...
5.18 取得SIM卡内的信息——TelephonyManager的应用 5.19 调用拨号按钮——打电话CALL_BUTTON 5.20 DPAD按键处理——onKeyDown事件与Layout坐标交互 5.21 任务管理器正在运行的程序——RunningTaskInfo 5.22 动态...
5.18 取得SIM卡内的信息——TelephonyManager的应用 5.19 调用拨号按钮——打电话CALL_BUTTON 5.20 DPAD按键处理——onKeyDown事件与Layout坐标交互 5.21 任务管理器正在运行的程序——RunningTaskInfo 5.22 动态...
5.16 取得目前File与Cache的路径——getCacheDir与getFilesDir 5.17 打开/关闭WiFi服务——WifiManager状态判断 5.18 取得SIM卡内的信息——TelephonyManager的应用 5.19 调用拨号按钮——打电话CALL_BUTTON 5.20 ...
5.18 取得SIM卡内的信息——TelephonyManager的应用 5.19 调用拨号按钮——打电话CALL_BUTTON 5.20 DPAD按键处理——onKeyDown事件与Layout坐标交互 5.21 任务管理器正在运行的程序——RunningTaskInfo 5.22 动态...
5.18 取得SIM卡内的信息——TelephonyManager的应用 5.19 调用拨号按钮——打电话CALL_BUTTON 5.20 DPAD按键处理——onKeyDown事件与Layout坐标交互 5.21 任务管理器正在运行的程序——RunningTaskInfo 5.22 ...
5.18 取得SIM卡内的信息——TelephonyManager的应用 5.19 调用拨号按钮——打电话CALL_BUTTON 5.20 DPAD按键处理——onKeyDown事件与Layout坐标交互 5.21 任务管理器正在运行的程序——RunningTaskInfo 5.22 动态...
5.18 取得SIM卡内的信息——TelephonyManager的应用 5.19 调用拨号按钮——打电话CALL_BUTTON 5.20 DPAD按键处理——onKeyDown事件与Layout坐标交互 5.21 任务管理器正在运行的程序——RunningTaskInfo 5.22 动态...
5.18 取得SIM卡内的信息——TelephonyManager的应用 5.19 调用拨号按钮——打电话CALL_BUTTON 5.20 DPAD按键处理——onKeyDown事件与Layout坐标交互 5.21 任务管理器正在运行的程序——RunningTaskInfo 5.22 动态...
5.18 取得SIM卡内的信息——TelephonyManager的应用 5.19 调用拨号按钮——打电话CALL_BUTTON 5.20 DPAD按键处理——onKeyDown事件与Layout坐标交互 5.21 任务管理器正在运行的程序——RunningTaskInfo 5.22 动态...