zoukankan      html  css  js  c++  java
  • 利用电话管理器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);
      }

    }

  • 相关阅读:
    test3
    test2
    test
    移动布局之流式布局
    移动端布局
    如何将本地项目上传到Github上
    node: 使用res.send()时报错RangeError [ERR_HTTP_INVALID_STATUS_CODE]: Invalid status code: *
    字体图标
    pip install Wikipedia2Vec时报错:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc4 in position 41: invalid continuation byte
    tensorflow与keras版本不匹配问题
  • 原文地址:https://www.cnblogs.com/jiww/p/5606820.html
Copyright © 2011-2022 走看看