• 利用电话管理器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);
      }

    }

  • 相关阅读:
    java类中为什么设置set和get方法操作属性
    Java常用排序算法+程序员必须掌握的8大排序算法+二分法查找法
    自学Zabbix之路15.3 Zabbix数据库表结构简单解析-Triggers表、Applications表、 Mapplings表
    自学Zabbix之路15.2 Zabbix数据库表结构简单解析-Items表
    自学Zabbix之路15.1 Zabbix数据库表结构简单解析-Hosts表、Hosts_groups表、Interface表
    21 Zabbix系统性能优化建议
    20 Zabbix 利用Scripts栏目对Hosts远程执行命令
    19 Zabbix web监控实例
    18 Zabbix 新增map中的icon图标
    自学Zabbix3.12.6-动作Action-Escalations配置
  • 原文地址:https://www.cnblogs.com/jiww/p/5606820.html
Copyright © 2020-2023  润新知