Android 电话管理器TelephonyManager,获取网络,SIM卡信息

本文主要是介绍Android 电话管理器TelephonyManager,获取网络,SIM卡信息,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

// 获取系统TelephonyManager对象
TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);

AndroidManifest.xml

package shortcut.song.com.myapplication;import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.widget.ListView;
import android.widget.SimpleAdapter;import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;public class TelephonyStatusActivity extends AppCompatActivity {ListView showView;// 声明代表状态名的数组String[] statusNames;// 声明代表手机状态的集合ArrayList<String> statusValues = new ArrayList<>();@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_telephony_status);// 获取系统TelephonyManager对象TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);// 获取各种状态名称的数组statusNames = getResources().getStringArray(R.array.statusNames);// 获取代表SIM卡状态的数组String[] simState = getResources().getStringArray(R.array.simState);// 获取代表电话网络类型的数组String[] phoneType = getResources().getStringArray(R.array.phoneType);// 获取设备编号statusValues.add(telephonyManager.getDeviceId());// 获取系统平台的版本statusValues.add(telephonyManager.getDeviceSoftwareVersion() != null? telephonyManager.getDeviceSoftwareVersion(): "Unknow!");// 获取网络运营商代号statusValues.add(telephonyManager.getNetworkOperator());// 获取网络运营商名称statusValues.add(telephonyManager.getNetworkOperatorName());// 获取手机网络类型statusValues.add(phoneType[telephonyManager.getPhoneType()]);// 获取设备所在位置statusValues.add(telephonyManager.getCellLocation() != null ? telephonyManager.getCellLocation().toString() : "Unknow Location!");// 获取SIM卡的国别statusValues.add(telephonyManager.getSimCountryIso());// 获取SIM卡序列号statusValues.add(telephonyManager.getSimSerialNumber());// 获取SIM卡状态statusValues.add(simState[telephonyManager.getSimState()]);// 获得ListView对象showView = (ListView) findViewById(R.id.phone_show);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" , statusNames[i]);map.put("value" , statusValues.get(i));status.add(map);}// 使用SimpleAdapter封装List数据SimpleAdapter adapter = new SimpleAdapter(this, status, R.layout.telephony_line, new String[]{"name" , "value"}, new int[]{R.id.name , R.id.value});// 为ListView设置AdaptershowView.setAdapter(adapter);}
}

这篇关于Android 电话管理器TelephonyManager,获取网络,SIM卡信息的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1144136

相关文章

springboot的controller中如何获取applicatim.yml的配置值

《springboot的controller中如何获取applicatim.yml的配置值》本文介绍了在SpringBoot的Controller中获取application.yml配置值的四种方式,... 目录1. 使用@Value注解(最常用)application.yml 配置Controller 中

Android使用java实现网络连通性检查详解

《Android使用java实现网络连通性检查详解》这篇文章主要为大家详细介绍了Android使用java实现网络连通性检查的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录NetCheck.Java(可直接拷贝)使用示例(Activity/Fragment 内)权限要求

2025最新版Android Studio安装及组件配置教程(SDK、JDK、Gradle)

《2025最新版AndroidStudio安装及组件配置教程(SDK、JDK、Gradle)》:本文主要介绍2025最新版AndroidStudio安装及组件配置(SDK、JDK、Gradle... 目录原生 android 简介Android Studio必备组件一、Android Studio安装二、A

golang实现nacos获取配置和服务注册-支持集群详解

《golang实现nacos获取配置和服务注册-支持集群详解》文章介绍了如何在Go语言中使用Nacos获取配置和服务注册,支持集群初始化,客户端结构体中的IpAddresses可以配置多个地址,新客户... 目录golang nacos获取配置和服务注册-支持集群初始化客户端可选参数配置new一个客户端 支

Python版本信息获取方法详解与实战

《Python版本信息获取方法详解与实战》在Python开发中,获取Python版本号是调试、兼容性检查和版本控制的重要基础操作,本文详细介绍了如何使用sys和platform模块获取Python的主... 目录1. python版本号获取基础2. 使用sys模块获取版本信息2.1 sys模块概述2.1.1

Java发送SNMP至交换机获取交换机状态实现方式

《Java发送SNMP至交换机获取交换机状态实现方式》文章介绍使用SNMP4J库(2.7.0)通过RCF1213-MIB协议获取交换机单/多路状态,需开启SNMP支持,重点对比SNMPv1、v2c、v... 目录交换机协议SNMP库获取交换机单路状态获取交换机多路状态总结交换机协议这里使用的交换机协议为常

MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决

《MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决》MyBatis默认开启一级缓存,同一事务中循环调用查询方法时会重复使用缓存数据,导致获取的序列主键值均为1,... 目录问题原因解决办法如果是存储过程总结问题myBATis有如下代码获取序列作为主键IdMappe

C#使用iText获取PDF的trailer数据的代码示例

《C#使用iText获取PDF的trailer数据的代码示例》开发程序debug的时候,看到了PDF有个trailer数据,挺有意思,于是考虑用代码把它读出来,那么就用到我们常用的iText框架了,所... 目录引言iText 核心概念C# 代码示例步骤 1: 确保已安装 iText步骤 2: C# 代码程

Python实现简单封装网络请求的示例详解

《Python实现简单封装网络请求的示例详解》这篇文章主要为大家详细介绍了Python实现简单封装网络请求的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录安装依赖核心功能说明1. 类与方法概览2.NetHelper类初始化参数3.ApiResponse类属性与方法使用实

Spring Boot中获取IOC容器的多种方式

《SpringBoot中获取IOC容器的多种方式》本文主要介绍了SpringBoot中获取IOC容器的多种方式,包括直接注入、实现ApplicationContextAware接口、通过Spring... 目录1. 直接注入ApplicationContext2. 实现ApplicationContextA