您的位置:首页 > 移动开发 > Android开发

android 获取手机的各种状态

2012-08-31 15:44 465 查看
public class huoqu extends ListActivity
{
private TelephonyManager telMgr;
private List<String> item = new ArrayList<String>();
private List<String> value = new ArrayList<String>();

@SuppressWarnings("static-access")
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
/* 载入main.xml Layout */
setContentView(R.layout.main);

telMgr = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);

/* 将取得的信息写入List中 */
/* 取得手机电话号码 */
item.add(getResources().getText(R.string.str_list0).toString());
if (telMgr.getLine1Number() != null)
{
value.add(telMgr.getLine1Number());
} else
{
value.add("无法取得");
}

/* 取得电信网络国别 */
item.add(getResources().getText(R.string.str_list1).toString());
if (telMgr.getNetworkCountryIso().equals(""))
{
value.add("无法取得");
} else
{
value.add("" + telMgr.getNetworkCountryIso());
}

/* 取得电信公司代码 */
item.add(getResources().getText(R.string.str_list2).toString());
if (telMgr.getNetworkOperator().equals(""))
{
value.add("无法取得");
} else
{
value.add(telMgr.getNetworkOperator());
}

/* 取得电信公司名称 */
item.add(getResources().getText(R.string.str_list3).toString());
if (telMgr.getNetworkOperatorName().equals(""))
{
value.add("无法取得");
} else
{
value.add(telMgr.getNetworkOperatorName());
}

/* 取得行动通信类型 */
item.add(getResources().getText(R.string.str_list4).toString());
if (telMgr.getPhoneType() == telMgr.PHONE_TYPE_GSM)
{
value.add("GSM");
} else
{
value.add("未知");
}

/* 取得网络类型 */
item.add(getResources().getText(R.string.str_list5).toString());
if (telMgr.getNetworkType() == telMgr.NETWORK_TYPE_EDGE)
{
value.add("EDGE");
} else if (telMgr.getNetworkType() == telMgr.NETWORK_TYPE_GPRS)
{
value.add("GPRS");
} else if (telMgr.getNetworkType() == telMgr.NETWORK_TYPE_UMTS)
{
value.add("UMTS");
} else if (telMgr.getNetworkType() == 4)
{
value.add("HSDPA");
} else
{
value.add("未知");
}

/* 取得漫游状态 */
item.add(getResources().getText(R.string.str_list6).toString());
if (telMgr.isNetworkRoaming())
{
value.add("漫游中");
} else
{
value.add("无漫游");
}

/* 取得手机IMEI */
item.add(getResources().getText(R.string.str_list7).toString());
value.add(telMgr.getDeviceId());

/* 取得IMEI SV */
item.add(getResources().getText(R.string.str_list8).toString());
if (telMgr.getDeviceSoftwareVersion() != null)
{
value.add(telMgr.getDeviceSoftwareVersion());
} else
{
value.add("无法取得");
}

/* 取得手机IMSI */
item.add(getResources().getText(R.string.str_list9).toString());
if (telMgr.getSubscriberId() != null)
{
value.add(telMgr.getSubscriberId());
} else
{
value.add("无法取得");
}

/* 取得ContentResolver */
ContentResolver cv = huoqu.this.getContentResolver();
String tmpS = "";

/* 取得蓝牙状态 */
item.add(getResources().getText(R.string.str_list10).toString());
tmpS = android.provider.Settings.System.getString(cv,
android.provider.Settings.System.BLUETOOTH_ON);
if (tmpS.equals("1"))
{
value.add("已打开");
} else
{
value.add("未打开");
}

/* 取得WIFI状态 */
item.add(getResources().getText(R.string.str_list11).toString());
tmpS = android.provider.Settings.System.getString(cv,
android.provider.Settings.System.WIFI_ON);
if (tmpS.equals("1"))
{
value.add("已打开");
} else
{
value.add("未打开");
}

/* 取得飞行模式是否打开 */
item.add(getResources().getText(R.string.str_list12).toString());
tmpS = android.provider.Settings.System.getString(cv,
android.provider.Settings.System.AIRPLANE_MODE_ON);
if (tmpS.equals("1"))
{
value.add("打开中");
} else
{
value.add("未打开");
}

/* 取得数据漫游是否打开 */
item.add(getResources().getText(R.string.str_list13).toString());
tmpS = android.provider.Settings.System.getString(cv,
android.provider.Settings.System.DATA_ROAMING);
if (tmpS.equals("1"))
{
value.add("打开中");
} else
{
value.add("未打开");
}

/* 使用自定义的MyAdapter来将数据传入ListActivity */
setListAdapter(new MyAdapter(this, item, value));
}
}


/* 自定义的Adapter,继承android.widget.BaseAdapter */
public class MyAdapter extends BaseAdapter
{
/* 变量声明 */
private LayoutInflater mInflater;
private List<String> items;
private List<String> values;
/* MyAdapter的构造器,传入三个参数  */
public MyAdapter(Context context,List<String> item,
List<String> value)
{
/* 参数初始化 */
mInflater = LayoutInflater.from(context);
items = item;
values = value;
}

/* 因继承BaseAdapter,需覆盖以下方法 */
@Override
public int getCount()
{
return items.size();
}

@Override
public Object getItem(int position)
{
return items.get(position);
}

@Override
public long getItemId(int position)
{
return position;
}

@Override
public View getView(int position,View convertView,ViewGroup par)
{
ViewHolder holder;

if(convertView == null)
{
/* 使用自定义的file_row作为Layout */
convertView = mInflater.inflate(R.layout.row_layout,null);
/* 初始化holder的text与icon */
holder = new ViewHolder();
holder.text1=(TextView)convertView.findViewById(R.id.myText1);
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;
}

/* class ViewHolder */
private class ViewHolder
{
/* text1:信息名称
* text2:信息内容 */
TextView text1;
TextView text2;
}
}


<!-- 声明READ_PHONE_STATE权限 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: