Android 获取IMEI号码

2024-04-15 01:18
文章标签 android 获取 号码 imei

本文主要是介绍Android 获取IMEI号码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

核心代码:

Imei = ((TelephonyManager) getSystemService(TELEPHONY_SERVICE)).getDeviceId();

1.加入权限

    在manifest.xml文件中要添加 <uses-permission android:name="android.permission.READ_PHONE_STATE" />

2.代码

/**   
*   
* author test   
*创建日期 2012-4-29 下午05:02:47   
*   
*/    
package net.sunniwell.app;     
import android.app.Activity;     
import android.os.Bundle;     
import android.telephony.CellLocation;     
import android.telephony.PhoneStateListener;     
import android.telephony.TelephonyManager;     
public class TelManager extends Activity {     @Override    
protected void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     TelephonyManager tm = (TelephonyManager) this.getSystemService(TELEPHONY_SERVICE);     /*   * 电话状态:   * 1.tm.CALL_STATE_IDLE=0          无活动   * 2.tm.CALL_STATE_RINGING=1  响铃   * 3.tm.CALL_STATE_OFFHOOK=2  摘机   */    tm.getCallState();//int     /*   * 电话方位:   *    */    tm.getCellLocation();//CellLocation     /*   * 唯一的设备ID:   * GSM手机的 IMEI 和 CDMA手机的 MEID.    * Return null if device ID is not available.   */    tm.getDeviceId();//String     /*   * 设备的软件版本号:   * 例如:the IMEI/SV(software version) for GSM phones.   * Return null if the software version is not available.    */    tm.getDeviceSoftwareVersion();//String     /*   * 手机号:   * GSM手机的 MSISDN.   * Return null if it is unavailable.    */    tm.getLine1Number();//String     /*   * 附近的电话的信息:   * 类型:List<NeighboringCellInfo>    * 需要权限:android.Manifest.permission#ACCESS_COARSE_UPDATES   */    tm.getNeighboringCellInfo();//List<NeighboringCellInfo>     /*   * 获取ISO标准的国家码,即国际长途区号。   * 注意:仅当用户已在网络注册后有效。   *       在CDMA网络中结果也许不可靠。   */    tm.getNetworkCountryIso();//String     /*   * MCC+MNC(mobile country code + mobile network code)   * 注意:仅当用户已在网络注册时有效。   *    在CDMA网络中结果也许不可靠。   */    tm.getNetworkOperator();//String     /*   * 按照字母次序的current registered operator(当前已注册的用户)的名字   * 注意:仅当用户已在网络注册时有效。   *    在CDMA网络中结果也许不可靠。   */    tm.getNetworkOperatorName();//String     /*   * 当前使用的网络类型:   * 例如: NETWORK_TYPE_UNKNOWN  网络类型未知  0   NETWORK_TYPE_GPRS     GPRS网络  1   NETWORK_TYPE_EDGE     EDGE网络  2   NETWORK_TYPE_UMTS     UMTS网络  3   NETWORK_TYPE_HSDPA    HSDPA网络  8    NETWORK_TYPE_HSUPA    HSUPA网络  9   NETWORK_TYPE_HSPA     HSPA网络  10   NETWORK_TYPE_CDMA     CDMA网络,IS95A 或 IS95B.  4   NETWORK_TYPE_EVDO_0   EVDO网络, revision 0.  5   NETWORK_TYPE_EVDO_A   EVDO网络, revision A.  6   NETWORK_TYPE_1xRTT    1xRTT网络  7   */    tm.getNetworkType();//int     /*   * 手机类型:   * 例如: PHONE_TYPE_NONE  无信号   PHONE_TYPE_GSM   GSM信号   PHONE_TYPE_CDMA  CDMA信号   */    tm.getPhoneType();//int     /*   * Returns the ISO country code equivalent for the SIM provider's country code.   * 获取ISO国家码,相当于提供SIM卡的国家码。   *    */    tm.getSimCountryIso();//String     /*   * Returns the MCC+MNC (mobile country code + mobile network code) of the provider of the SIM. 5 or 6 decimal digits.   * 获取SIM卡提供的移动国家码和移动网络码.5或6位的十进制数字.   * SIM卡的状态必须是 SIM_STATE_READY(使用getSimState()判断).   */    tm.getSimOperator();//String     /*   * 服务商名称:   * 例如:中国移动、联通   * SIM卡的状态必须是 SIM_STATE_READY(使用getSimState()判断).   */    tm.getSimOperatorName();//String     /*   * SIM卡的序列号:   * 需要权限:READ_PHONE_STATE   */    tm.getSimSerialNumber();//String     /*   * SIM的状态信息:   *  SIM_STATE_UNKNOWN          未知状态 0   SIM_STATE_ABSENT           没插卡 1   SIM_STATE_PIN_REQUIRED     锁定状态,需要用户的PIN码解锁 2   SIM_STATE_PUK_REQUIRED     锁定状态,需要用户的PUK码解锁 3   SIM_STATE_NETWORK_LOCKED   锁定状态,需要网络的PIN码解锁 4   SIM_STATE_READY            就绪状态 5   */    tm.getSimState();//int     /*   * 唯一的用户ID:   * 例如:IMSI(国际移动用户识别码) for a GSM phone.   * 需要权限:READ_PHONE_STATE   */    tm.getSubscriberId();//String     /*   * 取得和语音邮件相关的标签,即为识别符   * 需要权限:READ_PHONE_STATE   */    tm.getVoiceMailAlphaTag();//String     /*   * 获取语音邮件号码:   * 需要权限:READ_PHONE_STATE   */    tm.getVoiceMailNumber();//String     /*   * ICC卡是否存在   */    tm.hasIccCard();//boolean     /*   * 是否漫游:   * (在GSM用途下)   */    tm.isNetworkRoaming();//     }     } 


这篇关于Android 获取IMEI号码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Android kotlin语言实现删除文件的解决方案

《Androidkotlin语言实现删除文件的解决方案》:本文主要介绍Androidkotlin语言实现删除文件的解决方案,在项目开发过程中,尤其是需要跨平台协作的项目,那么删除用户指定的文件的... 目录一、前言二、适用环境三、模板内容1.权限申请2.Activity中的模板一、前言在项目开发过程中,尤

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加

C#实现系统信息监控与获取功能

《C#实现系统信息监控与获取功能》在C#开发的众多应用场景中,获取系统信息以及监控用户操作有着广泛的用途,比如在系统性能优化工具中,需要实时读取CPU、GPU资源信息,本文将详细介绍如何使用C#来实现... 目录前言一、C# 监控键盘1. 原理与实现思路2. 代码实现二、读取 CPU、GPU 资源信息1.

在C#中获取端口号与系统信息的高效实践

《在C#中获取端口号与系统信息的高效实践》在现代软件开发中,尤其是系统管理、运维、监控和性能优化等场景中,了解计算机硬件和网络的状态至关重要,C#作为一种广泛应用的编程语言,提供了丰富的API来帮助开... 目录引言1. 获取端口号信息1.1 获取活动的 TCP 和 UDP 连接说明:应用场景:2. 获取硬

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

C#实现获取电脑中的端口号和硬件信息

《C#实现获取电脑中的端口号和硬件信息》这篇文章主要为大家详细介绍了C#实现获取电脑中的端口号和硬件信息的相关方法,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 我们经常在使用一个串口软件的时候,发现软件中的端口号并不是普通的COM1,而是带有硬件信息的。那么如果我们使用C#编写软件时候,如

C#实现WinForm控件焦点的获取与失去

《C#实现WinForm控件焦点的获取与失去》在一个数据输入表单中,当用户从一个文本框切换到另一个文本框时,需要准确地判断焦点的转移,以便进行数据验证、提示信息显示等操作,本文将探讨Winform控件... 目录前言获取焦点改变TabIndex属性值调用Focus方法失去焦点总结最后前言在一个数据输入表单

通过C#获取PDF中指定文本或所有文本的字体信息

《通过C#获取PDF中指定文本或所有文本的字体信息》在设计和出版行业中,字体的选择和使用对最终作品的质量有着重要影响,然而,有时我们可能会遇到包含未知字体的PDF文件,这使得我们无法准确地复制或修改文... 目录引言C# 获取PDF中指定文本的字体信息C# 获取PDF文档中用到的所有字体信息引言在设计和出

python中os.stat().st_size、os.path.getsize()获取文件大小

《python中os.stat().st_size、os.path.getsize()获取文件大小》本文介绍了使用os.stat()和os.path.getsize()函数获取文件大小,文中通过示例代... 目录一、os.stat().st_size二、os.path.getsize()三、函数封装一、os

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO