Android入門筆記之查看手機及sim卡信息

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


發佈了29 篇原創文章 · 獲贊 4 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章