Androidは携帯電話の様々な状態を取得します


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>