Android入门笔记之查看手机及sim卡信息
<1>简介
查看手机及sim卡信息并显示。
<2>关键步骤
获取系统服务(TelephonyManager)getSystemService(TELEPHONY_SERVICE)的对象,然后通过对象调用相应方法。
<3>出现的问题
无
<4>代码及解释
phoneInfoActivity:
public class phoneInfoActivity extendsActivity{
/**
* @ProjectName: [androidtest]
* @Package: [com.func.phoneInfoActivity.java]
* @ClassName: [phoneInfoActivity]
* @Description:
* @Author: [gmj]
* @CreateDate: [2013-9-14 下午5:16:30]
* @Version: [v1.0]
*/
privateListView lv;
privateListView lv2;
privateTelephonyManager tm;
privateContentResolver cr;
privateList<String> list=new ArrayList<String>();
privateList<String> list1=new ArrayList<String>();
privateList<String> name=new ArrayList<String>();
privateList<String> name1=new ArrayList<String>();
privateButton bCheck;
privateButton sCheck;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_phoneinfo);
lv=(ListView)this.findViewById(R.id.phonelist);
lv2=(ListView)this.findViewById(R.id.phonelist2);
tm=(TelephonyManager)getSystemService(TELEPHONY_SERVICE);
cr=phoneInfoActivity.this.getContentResolver();
bCheck=(Button)this.findViewById(R.id.phonebut);
sCheck=(Button)this.findViewById(R.id.phonebut2);
String str=null;//记录cr获取的信息
name.add("手机号码:");
name.add("电信网络国别:");
name.add("电信公司代码:");
name.add("电信公司名称:");
name.add("SIM码:");
name.add("手机通信类型:");
name.add("手机网络类型 :");
name.add("手机是否漫游:");
name.add("蓝牙状态:");
name.add("WIFI状态:");
name1.add("SIM卡的状态:");
name1.add("SIM卡号:");
name1.add("SIM卡供应商号:");
name1.add("SIM卡供应商名称:");
name1.add("SIM卡国别:");
if(tm.getLine1Number()!=null)//手机号码
{
list.add(tm.getLine1Number());
}else
{
list.add("无法取得您的电话号码");
}
if(tm.getSimState()==TelephonyManager.SIM_STATE_READY)//SIM卡状态
{
list.add("状态良好");
}else if(tm.getSimState()==TelephonyManager.SIM_STATE_ABSENT)
{
list.add("您目前没有SIM卡");
}else if(tm.getSimState()==TelephonyManager.SIM_STATE_UNKNOWN)
{
list.add("SIM卡处于未知状态");
}
if(tm.getSimSerialNumber()!=null)//SIM卡卡号
{
list.add(tm.getSimSerialNumber());
}else
{
list.add("没有SIM卡卡号");
}
if(!tm.getSimOperator().equals(""))//SIM卡供应商代号
{
list.add(tm.getSimOperator());
}else
{
list.add("没有SIM卡供应商代号");
}
if(tm.getPhoneType()==TelephonyManager.PHONE_TYPE_GSM)//手机行动通信类型
{
list.add("GSM");
}else if(tm.getPhoneType()==TelephonyManager.PHONE_TYPE_CDMA)
{
list.add("CDMA");
}else
{
list.add("无法获取手机通信类型");
}
if(tm.getNetworkType()==TelephonyManager.NETWORK_TYPE_EDGE)//获取手机网络类型
{
list.add("EDGE");
}else if(tm.getNetworkType()==TelephonyManager.NETWORK_TYPE_GPRS)
{
list.add("GPRS");
}else if(tm.getNetworkType()==TelephonyManager.NETWORK_TYPE_UMTS)
{
list.add("UMTS");
}else if(tm.getNetworkType()==TelephonyManager.NETWORK_TYPE_HSDPA)
{
list.add("HSDPA");
}else
{
list.add("无法获取手机网络类型");
}
if(tm.isNetworkRoaming())//手机是否漫游
{
list.add("手机漫游中");
}else
{
list.add("手机无漫游");
}
str=android.provider.Settings.System.getString(
cr,android.provider.Settings.System.BLUETOOTH_ON
);
if(str.equals("1"))
{
list.add("蓝牙已打开");
}else
{
list.add("蓝牙未打开");
}
str=android.provider.Settings.System.getString(cr,android.provider.Settings.System.WIFI_ON);
if(str.equals("1"))
{
list.add("WIFI已打开");
}else
{
list.add("WIFI未打开");
}
if(tm.getSimState()==TelephonyManager.SIM_STATE_READY)//SIM卡状态
{
list1.add("状态良好");
}else if(tm.getSimState()==TelephonyManager.SIM_STATE_ABSENT)
{
list1.add("您目前没有SIM卡");
}else if(tm.getSimState()==TelephonyManager.SIM_STATE_UNKNOWN)
{
list1.add("SIM卡处于未知状态");
}
if(tm.getSimSerialNumber()!=null)//SIM卡卡号
{
list1.add(tm.getSimSerialNumber());
}else
{
list1.add("没有SIM卡卡号");
}
if(!tm.getSimOperator().equals(""))//SIM卡供应商代号
{
list1.add(tm.getSimOperator());
}else
{
list1.add("没有SIM卡供应商代号");
}
if(!tm.getSimOperatorName().equals(""))//SIM卡供应商名称
{
list1.add(tm.getSimOperatorName());
}else
{
list1.add("没有SIM卡供应商名称");
}
if(!tm.getSimCountryIso().equals(""))
{
list1.add(tm.getSimCountryIso());
}else
{
list1.add("无法获取SIM国别");
}
bCheck.setOnClickListener
(
newOnClickListener()
{
@Override
publicvoid onClick(View v) {
BaseAdapterba=new BaseAdapter()//创建适配器
{
@Override
publicint getCount() {
returnlist.size();
}
@Override
publicObject getItem(int position) {
returnnull;
}
@Override
publiclong getItemId(int position) {
return0;
}
@Override
public ViewgetView(int arg0, View arg1, ViewGroup arg2) {
LinearLayoutll=new LinearLayout(phoneInfoActivity.this);
ll.setOrientation(LinearLayout.HORIZONTAL);
ll.setPadding(5,5, 5, 5);
TextViewtv=new TextView(phoneInfoActivity.this);//初始化TextView
tv.setTextColor(Color.BLACK);//设置字体颜色
tv.setPadding(5,5,5,5);
tv.setText(name.get(arg0));//添加任务名字
tv.setGravity(Gravity.LEFT);//左对齐
tv.setTextSize(18);//字体大小
ll.addView(tv);//LinearLayout添加TextView
TextView tvv=newTextView(phoneInfoActivity.this);//初始化TextView
tvv.setTextColor(Color.BLACK);//设置字体颜色
tvv.setPadding(5,5,5,5);
tvv.setText(list.get(arg0));//添加任务名字
tvv.setGravity(Gravity.LEFT);//左对齐
tvv.setTextSize(18);//字体大小
ll.addView(tvv);//LinearLayout添加TextView
returnll;
}
};
lv.setAdapter(ba);//设置适配器
lv.setOnItemClickListener//设置选中菜单的监听器
(
newOnItemClickListener()
{
@Override
publicvoid onItemClick(AdapterView<?> arg0, View arg1,
intarg2, long arg3) {
Toast.makeText(phoneInfoActivity.this,name.get(arg2)+""+list.get(arg2), Toast.LENGTH_SHORT).show();
}
}
);
}
}
);
sCheck.setOnClickListener
(
newOnClickListener()
{
@Override
publicvoid onClick(View v) {
BaseAdapterba=new BaseAdapter()//创建适配器
{
@Override
publicint getCount() {
returnlist1.size();
}
@Override
publicObject getItem(int position) {
returnnull;
}
@Override
publiclong getItemId(int position) {
return0;
}
@Override
publicView getView(int arg0, View arg1, ViewGroup arg2) {
LinearLayoutll=new LinearLayout(phoneInfoActivity.this);
ll.setOrientation(LinearLayout.HORIZONTAL);
ll.setPadding(5,5, 5, 5);
TextViewtv=new TextView(phoneInfoActivity.this);//初始化TextView
tv.setTextColor(Color.BLACK);//设置字体颜色
tv.setPadding(5,5,5,5);
tv.setText(name1.get(arg0));//添加任务名字
tv.setGravity(Gravity.LEFT);//左对齐
tv.setTextSize(18);//字体大小
ll.addView(tv);//LinearLayout添加TextView
TextView tvv=newTextView(phoneInfoActivity.this);//初始化TextView
tvv.setTextColor(Color.BLACK);//设置字体颜色
tvv.setPadding(5,5,5,5);
tvv.setText(list1.get(arg0));//添加任务名字
tvv.setGravity(Gravity.LEFT);//左对齐
tvv.setTextSize(18);//字体大小
ll.addView(tvv);//LinearLayout添加TextView
returnll;
}
};
lv.setAdapter(ba);//设置适配器
lv.setOnItemClickListener//设置选中菜单的监听器
(
newOnItemClickListener()
{
@Override
publicvoid onItemClick(AdapterView<?> arg0, View arg1,
intarg2, long arg3) {
Toast.makeText(phoneInfoActivity.this,name1.get(arg2)+""+list1.get(arg2), Toast.LENGTH_SHORT).show();
}
}
);
}
}
);
}
}