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();
}
}
);
}
}
);
}
}