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

相关文章

Android实现悬浮按钮功能

《Android实现悬浮按钮功能》在很多场景中,我们希望在应用或系统任意界面上都能看到一个小的“悬浮按钮”(FloatingButton),用来快速启动工具、展示未读信息或快捷操作,所以本文给大家介绍... 目录一、项目概述二、相关技术知识三、实现思路四、整合代码4.1 Java 代码(MainActivi

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文

Android Mainline基础简介

《AndroidMainline基础简介》AndroidMainline是通过模块化更新Android核心组件的框架,可能提高安全性,本文给大家介绍AndroidMainline基础简介,感兴趣的朋... 目录关键要点什么是 android Mainline?Android Mainline 的工作原理关键

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32

SQL server配置管理器找不到如何打开它

《SQLserver配置管理器找不到如何打开它》最近遇到了SQLserver配置管理器打不开的问题,尝试在开始菜单栏搜SQLServerManager无果,于是将自己找到的方法总结分享给大家,对SQ... 目录方法一:桌面图标进入方法二:运行窗口进入方法三:查找文件路径方法四:检查 SQL Server 安

SpringMVC获取请求参数的方法

《SpringMVC获取请求参数的方法》:本文主要介绍SpringMVC获取请求参数的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下... 目录1、通过ServletAPI获取2、通过控制器方法的形参获取请求参数3、@RequestParam4、@

Android实现打开本地pdf文件的两种方式

《Android实现打开本地pdf文件的两种方式》在现代应用中,PDF格式因其跨平台、稳定性好、展示内容一致等特点,在Android平台上,如何高效地打开本地PDF文件,不仅关系到用户体验,也直接影响... 目录一、项目概述二、相关知识2.1 PDF文件基本概述2.2 android 文件访问与存储权限2.

Android Studio 配置国内镜像源的实现步骤

《AndroidStudio配置国内镜像源的实现步骤》本文主要介绍了AndroidStudio配置国内镜像源的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、修改 hosts,解决 SDK 下载失败的问题二、修改 gradle 地址,解决 gradle

Python获取C++中返回的char*字段的两种思路

《Python获取C++中返回的char*字段的两种思路》有时候需要获取C++函数中返回来的不定长的char*字符串,本文小编为大家找到了两种解决问题的思路,感兴趣的小伙伴可以跟随小编一起学习一下... 有时候需要获取C++函数中返回来的不定长的char*字符串,目前我找到两种解决问题的思路,具体实现如下: