• 利用电话管理器TelephonyManager获取网络和SIM卡信息


    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.Map;

    import android.os.Bundle;
    import android.app.Activity;
    import android.content.Context;
    import android.telephony.TelephonyManager;
    import android.view.Menu;
    import android.widget.ListView;
    import android.widget.SimpleAdapter;

    public class MainActivity extends Activity {
      ListView showView;
      //声明代表状态名的数组
      String[] statusName;
      //声明代表手机状态的集合
      ArrayList<String> statusValues = new ArrayList<String>();

      @Override
      protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //获取系统的TelephonyManager对象
        TelephonyManager tManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
        //获取各种状态名称的数组
        statusName = getResources().getStringArray(android.R.array.statusNames);
        //获取代表SIM卡状态的数组
        String[] simState = getResources().getStringArray(android.R.array.simState);
        //获取代表电话网络类型的数组
        String[] phoneType = getResources().getStringArray(android.R.array.phoneTypes);
        //获取设备编号
        statusValues.add(tManager.getDeviceId());
        //获取系统平台的版本
        statusValues.add(tManager.getDeviceSoftwareVersion() != null
                  ? tManager.getDeviceSoftwareVersion() : "未知");
        //获取网络运营商代号
        statusValues.add(tManager.getNetworkOperator());
        //获取网络运营商名称
        statusValues.add(tManager.getNetworkOperatorName());
        //获取手机网络类型
        statusValues.add(phoneType[tManager.getPhoneType()]);
        //获取设备所在位置
        statusValues.add(tManager.getCellLocation() != null ?
                  tManager.getCellLocation().toString() : "未知");
        //获取SIM卡的国别
        statusValues.add(tManager.getSimCountryIso());
        //获取SIM卡序列号
        statusValues.add(tManager.getSimSerialNumber());
        //获取SIM卡状态
        statusValues.add(simState[tManager.getSimState()]);
        //获取ListView对象
        showView = (ListView) findViewById(R.id.showView);
        ArrayList<Map<String, String>> status =
        new ArrayList<Map<String,String>>();
        //遍历statusValues集合,将statusNames、statusValues的
        //数据封装到List<Map<String,String>>集合中
        for(int i =0 ; i <statusValues.size() ; i++){
          HashMap<String, String> map = new HashMap<String, String>();
          map.put("name", statusName[i]);
          map.put("value", statusValues.get(i));
          status.add(map);
        }
        //使用SimpleAdapter封装List数据
        SimpleAdapter adapter = new SimpleAdapter(this, status,
                R.layout.line, new String[]{"name","value"},
                new int[]{R.id.name,R.id.value});
        //为ListView设置Adapter
        showView.setAdapter(adapter);
      }

    }

  • 相关阅读:
    【(高职专科组)第十一届蓝桥杯省模拟赛答案】给定一个数列,请问找出元素之间最大的元素距离。
    【(高职专科组)第十一届蓝桥杯省模拟赛答案】给定一个数列,请问数列中最长的递增序列有多长。
    POJ 2391 二分+最大流
    HDU 4529 状压dp
    NYOJ 747贪心+dp
    NYOJ 745 dp
    HDU 2686 / NYOJ 61 DP
    HDU 4313树形DP
    HDU 4303 树形DP
    POJ 2342 树形DP
  • 原文地址:https://www.cnblogs.com/jiww/p/5606820.html
Copyright © 2020-2023  润新知