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

相关文章

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

SpringBoot 获取请求参数的常用注解及用法

《SpringBoot获取请求参数的常用注解及用法》SpringBoot通过@RequestParam、@PathVariable等注解支持从HTTP请求中获取参数,涵盖查询、路径、请求体、头、C... 目录SpringBoot 提供了多种注解来方便地从 HTTP 请求中获取参数以下是主要的注解及其用法:1

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

Android协程高级用法大全

《Android协程高级用法大全》这篇文章给大家介绍Android协程高级用法大全,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友跟随小编一起学习吧... 目录1️⃣ 协程作用域(CoroutineScope)与生命周期绑定Activity/Fragment 中手

Python开发简易网络服务器的示例详解(新手入门)

《Python开发简易网络服务器的示例详解(新手入门)》网络服务器是互联网基础设施的核心组件,它本质上是一个持续运行的程序,负责监听特定端口,本文将使用Python开发一个简单的网络服务器,感兴趣的小... 目录网络服务器基础概念python内置服务器模块1. HTTP服务器模块2. Socket服务器模块

Android 缓存日志Logcat导出与分析最佳实践

《Android缓存日志Logcat导出与分析最佳实践》本文全面介绍AndroidLogcat缓存日志的导出与分析方法,涵盖按进程、缓冲区类型及日志级别过滤,自动化工具使用,常见问题解决方案和最佳实... 目录android 缓存日志(Logcat)导出与分析全攻略为什么要导出缓存日志?按需过滤导出1. 按

Go语言网络故障诊断与调试技巧

《Go语言网络故障诊断与调试技巧》在分布式系统和微服务架构的浪潮中,网络编程成为系统性能和可靠性的核心支柱,从高并发的API服务到实时通信应用,网络的稳定性直接影响用户体验,本文面向熟悉Go基本语法和... 目录1. 引言2. Go 语言网络编程的优势与特色2.1 简洁高效的标准库2.2 强大的并发模型2.

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

Python获取浏览器Cookies的四种方式小结

《Python获取浏览器Cookies的四种方式小结》在进行Web应用程序测试和开发时,获取浏览器Cookies是一项重要任务,本文我们介绍四种用Python获取浏览器Cookies的方式,具有一定的... 目录什么是 Cookie?1.使用Selenium库获取浏览器Cookies2.使用浏览器开发者工具