android 6.0获取手机imei,android获取手机信息大全,android获取大全,IMEI号,IESI号,...-程序员宅基地

技术标签: android 6.0获取手机imei  

android获取手机信息大全,android获取大全,IMEI号,IESI号,

IMEI号,IESI号,手机型号:

[java] view plaincopyprint?private void getInfo() { TelephonyManager mTm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); String imei = mTm.getDeviceId(); String imsi = mTm.getSubscriberId(); String mtype = android.os.Build.MODEL; // 手机型号 String numer = mTm.getLine1Number(); // 手机号码,有的可得,有的不可得 }public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); TextView textView = (TextView) findViewById(R.id.text); textView.setText("Product Model: " + android.os.Build.MODEL + "," + android.os.Build.VERSION.SDK + "," + android.os.Build.VERSION.RELEASE);}

注:android.os.Build.VERSION.RELEASE获取版本号android.os.Build.MODEL 获取手机型号

手机型号 Build.MODELStringMODELThe end-user-visible name for the end product.sdk版本 Build.VERSION.SDKStringSDKThis constant is deprecated. Use SDK_INT to easily get this as an integer.及frimware版本号(系统版本号) Build.VERSION.RELEASEStringRELEASEThe user-visible version string.

事实上,Build能向我们提供包括 硬件厂商,硬件编号,序列号等很多信息 调用方法也都同上,很简单。

StringBOARDThe name of the underlying board, like "goldfish".StringBOOTLOADERThe system bootloader version number.StringBRANDThe brand (e.g., carrier) the software is customized for, if any.StringCPU_ABIThe name of the instruction set (CPU type + ABI convention) of native code.StringCPU_ABI2The name of the second instruction set (CPU type + ABI convention) of native code.StringDEVICEThe name of the industrial design.StringDISPLAYA build ID string meant for displaying to the userStringFINGERPRINTA string that uniquely identifies this build.StringHARDWAREThe name of the hardware (from the kernel command line or /proc).StringHOST StringIDEither a changelist number, or a label like "M4-rc20".StringMANUFACTURERThe manufacturer of the product/hardware.StringMODELThe end-user-visible name for the end product.StringPRODUCTThe name of the overall product.StringRADIOThe radio firmware version number.StringSERIALA hardware serial number, if available.StringTAGSComma-separated tags describing the build, like "unsigned,debug".longTIME StringTYPEThe type of build, like "user" or "eng".StringUNKNOWNValue used for when a build property is unknown.StringUSER

明确几个概念:

SIM卡存储的数据可分为四类:

第一类是固定存放的数据。这类数据在移动电话机被出售之前由SIM卡中心写入,包括国际移动用户识别号(IMSI)、鉴权密钥(KI)、鉴权和加密算法等等。

第二类是暂时存放的有关网络的数据。如位置区域识别码(LAI)、移动用户暂时识别码(TMSI)、禁止接入的公共电话网代码等。

第三类是相关的业务代码,如个人识别码(PIN)、解锁码(PUK)、计费费率等。

第四类是电话号码簿,是手机用户随时输入的电话号码。用户全部资料几乎都存储在SIM卡内,因此SIM卡又称为用户资料识别卡。

IMSI是一个唯一的数字, 标识了GSM和UMTS 网络里的唯一一个用户. 它存储 在手机的SIM卡里,它会通过手机发送到网络上. IMSI 与 SIM唯一对应

IMEI也是一串唯一的数字, 标识了 GSM 和 UMTS网络里的唯一一个手机.它通常被打印在手机里电池下面的那一面,拨 *#06# 也能看到它. IMEI 与 设备唯一对应.

1。IMEI不存在于SIM卡中,它是手机本身的串号。 2。通常我们所说的手机号也不存在于SIM卡中,虽然SIM卡中有一个专门存储SIM卡本身号码的地方,但是此号码是通过手工设定的,而且是可以更改的。 SIM卡的识别通常使用IMSI号,这个对于SIM卡是唯一的。 3。使用SimGetRecordInfo之类的函数获得SIM卡的IMSI号码能否成功依赖于设备制造商是否实现了此函数,据我所知在DOPOD的机器上是可以获得,但是在联想的机器上却不行,其他机器没有。 4。获得IMEI以及IMSI可以通过RIL或者TAPI中的LINE操作的函数获得。

记得添加权限:

获取手机屏幕高度:[java] view plaincopyprint?private void getWeithAndHeight(){ //这种方式在service中无法使用, DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); String width = dm.widthPixels; //宽 String height = dm.heightPixels; //高 //在service中也能得到高和宽 WindowManager mWindowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE); width = mWindowManager.getDefaultDisplay().getWidth(); height = mWindowManager.getDefaultDisplay().getHeight(); }

获取手机MAC地址:

[java] view plaincopyprint?private String getMacAddress(){ String result = ""; WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); WifiInfo wifiInfo = wifiManager.getConnectionInfo(); result = wifiInfo.getMacAddress(); Log.i(TAG, "macAdd:" + result); return result; }

手机CPU信息

[java] view plaincopyprint?private String[] getCpuInfo() { String str1 = "/proc/cpuinfo"; String str2 = ""; String[] cpuInfo = {"", ""}; //1-cpu型号 //2-cpu频率 String[] arrayOfString; try { FileReader fr = new FileReader(str1); BufferedReader localBufferedReader = new BufferedReader(fr, 8192); str2 = localBufferedReader.readLine(); arrayOfString = str2.split("\s+"); for (int i = 2; i < arrayOfString.length; i++) { cpuInfo[] = cpuInfo[] + arrayOfString[i] + " "; } str2 = localBufferedReader.readLine(); arrayOfString = str2.split("\s+"); cpuInfo[1] += arrayOfString[2]; localBufferedReader.close(); } catch (IOException e) { } Log.i(TAG, "cpuinfo:" + cpuInfo[] + " " + cpuInfo[1]); return cpuInfo; }

获取手机可用内存和总内存:[java] view plaincopyprint?private String[] getTotalMemory() { String[] result = {"",""}; //1-total 2-avail ActivityManager.MemoryInfo mi = new ActivityManager.MemoryInfo(); mActivityManager.getMemoryInfo(mi); long mTotalMem = ; long mAvailMem = mi.availMem; String str1 = "/proc/meminfo"; String str2; String[] arrayOfString; try { FileReader localFileReader = new FileReader(str1); BufferedReader localBufferedReader = new BufferedReader(localFileReader, 8192); str2 = localBufferedReader.readLine(); arrayOfString = str2.split("\s+"); mTotalMem = Integer.valueOf(arrayOfString[1]).intValue() * 1024; localBufferedReader.close(); } catch (IOException e) { e.printStackTrace(); } result[] = Formatter.formatFileSize(this, mTotalMem); result[1] = Formatter.formatFileSize(this, mAvailMem); Log.i(TAG, "meminfo total:" + result[] + " used:" + result[1]); return result; }

获取手机安装的应用信息(排除系统自带):[java] view plaincopyprint?private String getAllApp() { String result = ""; List packages = getPackageManager().getInstalledPackages(); for (PackageInfo i : packages) { if ((i.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == ) { result += i.applicationInfo.loadLabel(getPackageManager()).toString() + ","; } } return result.substring(, result.length() - 1); }

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39562197/article/details/117604023

智能推荐

fastdfs添加php扩展_fastdfs php插件-程序员宅基地

文章浏览阅读1.7k次。不知道怎么安装fastdfs的可以参考http://blog.csdn.net/linux_newbie_rookie/article/details/78974824在安装完fastdfs文件系统之后,1. 切换到fastdfs的源码解压目录:/run/fast/fastdfs-5.05/php_client1) 先初始化: /usr/bin/phpizeConfig_fastdfs php插件

css多列布局划分为4列,CSS3 column多列布局介绍-程序员宅基地

文章浏览阅读1.1k次。CSS3提供了个新属性columns用于多列布局。在这之前,有些大家习以为常的排版,要用CSS动态实现其实是比较困难的。如竖版报纸在我不知columns这属性之前,第一反应是:这有何难,多弄几个并列的div不就行了?但仔细想想确实很难实现,因为内容是动态的。搞几个div容易,但每个div内放多少文字呢?一篇文章该在哪行哪段剪切进不同的div内呢?你肯定不愿意为每一段文字,都在特定的地方插入div标..._css 四列

蓝桥杯 凑算式(第七届第三题)_(如果显示有问题,可以参见【图1.jpg】) 这个算式中a~i代表1~9的数字,不同的字-程序员宅基地

文章浏览阅读135次。凑算式 B DEFA + --- + ------- = 10 C GHI (如果显示有问题,可以参见【图1.jpg】) 这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。比如:6+8/3+952/714 就是一种解法,5+3/1+972/486 是另一种解法。这个算式一共有多少种解法?注..._(如果显示有问题,可以参见【图1.jpg】) 这个算式中a~i代表1~9的数字,不同的字

浅析缓冲区溢出漏洞的利用与Shellcode编写_可利用该漏洞使缓冲区溢出并在系统上执行任意代码-程序员宅基地

文章浏览阅读5.4k次,点赞27次,收藏88次。文章目录前言前言缓冲区是内存中存放数据的地方。在程序试图将数据放到及其内存中的某一个位置的时候,因为没有足够的空间就会发生缓冲区溢出。缓冲区溢出就好比是将十升水放进只有五升容量的桶里。很显然,一旦容器满了,余下的部分就会溢出在地板上,弄得一团糟。缓冲区溢出漏洞是指在程序试图将数据放到及其内存中的某一个位置的时候,因为没有足够的空间就会发生缓冲区溢出的现象。..._可利用该漏洞使缓冲区溢出并在系统上执行任意代码

ts中常用的几个工具类_ts 工具类-程序员宅基地

文章浏览阅读3.8k次,点赞3次,收藏19次。TypeScript常用的几个工具类_ts 工具类

c语言编辑数学公式,用C语言编个公式数学公式求助-程序员宅基地

文章浏览阅读258次。满意答案zsao11252018.11.08采纳率:54%等级:12已帮助:17631人函数名及解释:int abs(int i) 返回整型参数i的绝对值double cabs(struct complex znum) 返回复数znum的绝对值double fabs(double x) 返回双精度参数x的绝对值long labs(long n) 返回长整型参数n的绝对值 double ex..._c语言用一行语句替代一个公式的函数

随便推点

StarCCM+引入第三方库,找不到的错误_starccm库朗数在哪里-程序员宅基地

文章浏览阅读187次。StarCCM+里自定义的宏文件是在Star里编译运行的,第三方库需要单独引用。工具->options->环境->用户宏类路径。点进去以后,一定要注意多个jar包是写在一行的,不要主动换行。_starccm库朗数在哪里

pandas操作Excel-数据部分_pandas处理excel数据-程序员宅基地

文章浏览阅读268次。通过Series.str.split()方法分割读取的dataframe,调用参数expand展开,生成两个Series存到fn里,n表示保留的Series个数,默认为-1全部保留。temp = df[['Test_1', 'Test_2', 'Test_3']],用列表做索引值,可以截取原dataframe形成新的dataframe。都是用的pd.read_csv()方法,读取TXT要设置分隔符sep=‘|’,读取tsv要设置分隔符sep='\t'_pandas处理excel数据

POJ1014 Dividing(DP)_poj1014 dp-程序员宅基地

文章浏览阅读328次。题目链接:http://poj.org/problem?id=1014题目大意:有6个物品, 他们的价值为1~6;然后给出6个数, 每个数代表相应物品的数量; 问你能否把物品分成相等的两份。DP题, 多重背包的模版题。 把物品的总价值 的一半看成背包容量。物品的价值和花费一样, 最判断背包装的最大价值和背包容量是否相等即可刚学习多重背包写个博客, 记录下思想。 学习过0-1背包和完全背_poj1014 dp

Github上竟然有这么多可以帮你赚钱的项目-程序员宅基地

文章浏览阅读746次。开源最前线(ID:OpenSourceTop) 猿妹整编地址:https://github.com/JackonYang/list-of-wechat-mini-program-list今..._github上可以赚钱的软件

《机器学习》周志华(西瓜书)学习笔记 第九章 聚类_周志华 机器学习 聚类 ppt-程序员宅基地

文章浏览阅读1.8k次。机器学习笔记总目录第九章 聚类聚类是一种经典的无监督学习方法,无监督学习的目标是通过对无标记训练样本的学习,发掘和揭示数据集本身潜在的结构与规律,即不依赖于训练数据集的类标记信息。聚类则是试图将数据集的样本划分为若干个互不相交的类簇,从而每个簇对应一个潜在的类别。9.1 距离度量聚类性能度量亦称聚类"有效性指标" (validity index).目标: 聚类结果的"簇内相似 度" (..._周志华 机器学习 聚类 ppt

react和react2_有没有证据表明存在连锁React?-程序员宅基地

文章浏览阅读58次。react和react2 这个博客一直在讨论涟漪效应管理 (或缺乏涟漪效应管理 )及其确定源代码结构的质量。 涟漪效应-在一处轻轻地打磨代码会产生摆动和裂纹,并在远处产生广泛的崩溃崩溃-于1974年定义,此后一直指导着结构上的辛劳。 但是真的存在吗? 或者更确切地说:存在连锁React的证据在哪里? 您将如何收集此类证据? 假设您有100个玻璃弹珠:40个红色和60个蓝色。 不,不...

推荐文章

热门文章

相关标签