android获取操作系统版本号,Android 获取手机的厂商、型号、Android系统版本号、IMEI、当前系统语言等工具类...

1、获取手机制造厂商

2、获取手机型号

3、获取手机系统当前使用的语言

4、获取Android系统版本号

5、获取手机IMEI串号

6、获取手机中的语言列表

SystemUtil类

1.

/**

2.

* 系统工具类

3.

* Created by zhuwentao on 2016-07-18.

4.

*/

5. public class SystemUtil {

6.

7.

/**

8.

* 获取当前手机系统语言。

9.

*

10.       * @return 返回当前系统语言。例如:当前设置的是“中文-中国”,则返回“zh-CN”

11.       */

12. public static String getSystemLanguage() {

13. return Locale.getDefault().getLanguage();

14.      }

15.

16.      /**

17.       * 获取当前系统上的语言列表(Locale列表)

18.       *

19.       * @return  语言列表

20.       */

21. public static Locale[] getSystemLanguageList() {

22. return Locale.getAvailableLocales();

23.      }

24.

25.      /**

26.       * 获取当前手机系统版本号

27.       *

28.       * @return  系统版本号

29.       */

30. public static String getSystemVersion() {

31. return android.os.Build.VERSION.RELEASE;

32.      }

33.

34.      /**

35.       * 获取手机型号

36.       *

37.       * @return  手机型号

38.       */

39. public static String getSystemModel() {

40. return android.os.Build.MODEL;

41.      }

42.

43.      /**

44.       * 获取手机厂商

45.       *

46.       * @return  手机厂商

47.       */

48. public static String getDeviceBrand() {

49. return android.os.Build.BRAND;

50.      }

51.

52.      /**

53.       * 获取手机IMEI(需要“android.permission.READ_PHONE_STATE”权限)

54.       *

55.       * @return  手机IMEI

56.       */

57. public static String getIMEI(Context ctx) {

58.          TelephonyManager tm = (TelephonyManager) ctx.getSystemService(Activity.TELEPHONY_SERVICE);

59. if (tm != null) {

60. return tm.getDeviceId();

61.          }

62. return null;

63.      }

64.  }

其中获取手机IMEI需要在AndroidManifest.xml中加上权限:

1. android:name="android.permission.READ_PHONE_STATE" />

使用这些方法的时候直接调用就好了

1. private void showSystemParameter() {

2.

String TAG = "系统参数:";

3.

Log.e(TAG, "手机厂商:" + SystemUtil.getDeviceBrand());

4.

Log.e(TAG, "手机型号:" + SystemUtil.getSystemModel());

5.

Log.e(TAG, "手机当前系统语言:" + SystemUtil.getSystemLanguage());

6.

Log.e(TAG, "Android系统版本号:" + SystemUtil.getSystemVersion());

7.

Log.e(TAG, "手机IMEI:" + SystemUtil.getIMEI(getApplicationContext()));

8.

}

返回结果:

IMEI号,IESI号,手机型号:

privatevoidgetInfo() {

TelephonyManager mTm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);

String imei = mTm.getDeviceId();

String imsi = mTm.getSubscriberId();

String mtype = android.os.Build.MODEL; // 手机型号

String numer = mTm.getLine1Number(); // 手机号码,有的可得,有的不可得

}

手机型号 Build.MODEL

The end-user-visible name for the end product.

sdk版本 Build.VERSION.SDK

This constant is deprecated. Use SDK_INT to easily get this as an integer.

及frimware版本号(系统版本号) Build.VERSION.RELEASE

The user-visible version string.

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

The name of the underlying board, like "goldfish".

The system bootloader version number.

The brand (e.g., carrier) the software is customized for, if any.

The name of the instruction set (CPU type + ABI convention) of native code.

The name of the second instruction set (CPU type + ABI convention) of native code.

The name of the industrial design.

A build ID string meant for displaying to the user

A string that uniquely identifies this build.

The name of the hardware (from the kernel command line or /proc).

Either a changelist number, or a label like "M4-rc20".

The manufacturer of the product/hardware.

The end-user-visible name for the end product.

The name of the overall product.

The radio firmware version number.

A hardware serial number, if available.

Comma-separated tags describing the build, like "unsigned,debug".

long

The type of build, like "user" or "eng".

Value used for when a build property is unknown.

明确几个概念:

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操作的函数获得。

记得添加权限:

Android:name="android.permission.READ_PHONE_STATE" />

获取手机屏幕高度:

privatevoidgetWeithAndHeight(){

//这种方式在service中无法使用,

DisplayMetrics dm = newDisplayMetrics();

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地址:

privateString getMacAddress(){

String result = "";

WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);

WifiInfo wifiInfo = wifiManager.getConnectionInfo();

result = wifiInfo.getMacAddress();

Log.i(TAG, "macAdd:"+ result);

returnresult;

}

手机CPU信息

privateString[] getCpuInfo() {

String str1 = "/proc/cpuinfo";

String str2 = "";

String[] cpuInfo = {"",""};//1-cpu型号  //2-cpu频率

String[] arrayOfString;

try{

FileReader fr = newFileReader(str1);

BufferedReader localBufferedReader = newBufferedReader(fr,8192);

str2 = localBufferedReader.readLine();

arrayOfString = str2.split("\\s+");

for(inti =2; i < arrayOfString.length; i++) {

cpuInfo[0] = cpuInfo[0] + arrayOfString[i] +" ";

}

str2 = localBufferedReader.readLine();

arrayOfString = str2.split("\\s+");

cpuInfo[1] += arrayOfString[2];

localBufferedReader.close();

} catch(IOException e) {

}

Log.i(TAG, "cpuinfo:"+ cpuInfo[0] +" "+ cpuInfo[1]);

returncpuInfo;

}

网上收集的一些获取收集信息的代码,制作成一个工具类,以后可以方便调用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/527106.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android显示矩阵大小,关于android:显示代表灰度图像的双值矩阵

我的问题是&#xff1a;我有一个字节数组&#xff0c;必须与ImageView一起显示。 这是我的代码&#xff1a;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ImageView imageView (…

android 跨应用,Android跨应用获取资源

跨应用获取资源有两种方式方式一 利用PackageManagerPackageManager pm getPackageManager();Resources rs null;try {rs pm.getResourcesForApplication("com.example.test");// getIdentifier方法使用如方式一二中使用均可String text rs.getText(rs.getIdenti…

代码混淆android.mk,利用ollvm进行代码混淆

OLLVM简介OLLVM(Obfuscator-LLVM)是瑞士西北应用科技大学于2010年6月份发起的一个项目&#xff0c;该项目旨在提供一套开源的针对LLVM的代码混淆工具&#xff0c;以增加对逆向工程的难度。OLLVM是基于LLVM实现的&#xff0c;LLVM是一个编译器框架&#xff0c;它也采用经典的三段…

鸿蒙系统的适配国产手机,真正的好消息!其它国产机,也在适配华为鸿蒙系统...

众所周知&#xff0c;据华为消费者业务软件部总裁王成录的说法&#xff0c;今年6月初&#xff0c;华为手机就能全面升级鸿蒙2.0&#xff0c;迟到近两年的、真正的“一夜之间就可以替换掉安卓”。而近日&#xff0c;又传出了真正的好消息&#xff0c;那就是其它国产手机厂商&…

android开发隐藏软键盘,Android开发之完全隐藏软键盘的方法

隐藏软键盘一直是我头痛的事情&#xff0c;没有找到一种真正能隐藏的方法。点击EditText的时候总是弹出软键盘。-----杯具杯具(一)&#xff1a;InputMethodManager im (InputMethodManager) mEditgetContext() .getSystemService(Context.INPUT_METHOD_SERVICE);im.hideSoftInp…

三星s4 android 6.0吗,快了 三星手机适配Android 6.0时间公布

快了 三星手机适配Android 6.0时间公布2016年01月26日 00:04作者&#xff1a;董岩编辑&#xff1a;董岩文章出处&#xff1a;泡泡网原创分享作为全球范围内无可争议的安卓手机巨头之一&#xff0c;三星在为其旗下手机适配安卓新系统方面历来算是相当上心的一个厂家。日前就已经…

xrdpdf卡片在哪可下载_暑假学习英语字母,就是这样简单(附可打印字母卡下载)...

英语字母是所有英语学习的基础&#xff0c;所以&#xff0c;要想学好英语&#xff0c;第一步&#xff0c;必须是学好字母&#xff0c;为后面的更深层次的学习打下坚实的根基。今天&#xff0c;我们给大家分享最全面的英文字母学习法&#xff0c;建议收藏&#xff0c;文章最后附…

android 常用命令,Android开发常用命令整理

一些命令&#xff0c;不常用就忘记了&#xff0c;特整理在这里&#xff0c;忘了就查查。。 alias 用于定义和查询别名&#xff0c;但不保存。修改home目录下.bashrc保存定义别名格式&#xff0c;不加参数即查询别名&#xff1a;alias command aliasname使用unalias alia…

32 位的有符号整数_leetcode 7 整数反转

给出一个 32 位的有符号整数&#xff0c;你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123 输出: 321示例 2:输入: -123 输出: -321示例 3:输入: 120 输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数&#xff0c;则其数值范围为 [−231, 231 − 1]。请根…

安卓帧数监测软件_扬尘在线监测系统实现工地智能监控

近年来&#xff0c;随着越来越多的建设项目在建设中&#xff0c;建筑工地越来越广泛。传统人力检查的检查结果主要依靠估计&#xff0c;难以量化和分析&#xff0c;导致相应处罚的科学依据不足。扬尘在线监测系统实现了对施工现场的智能检测&#xff0c;可以对施工现场扬尘进行…

html 切换主题,html切换主题实现方案

方案一使用css的var属性&#xff0c;当然此时不考虑低版本浏览器。1&#xff0c;在default.css主题根元素定义颜色变量:root {--main_color: #03a9f4; // 主题色--main_light: #33baf7; // 二级主题色 常用背景为主题色下的hover--main_lighter: #65caf5; // 三级主题色 常用bo…

json取数据怎么取_干货速递丨书名应该怎么取?

很多作者开书前都会遇到这个困扰&#xff1a;“什么样的书名是好的&#xff1f;”在跟一线编辑广泛交流后&#xff0c;大家普遍认为&#xff1a;一个好书名&#xff0c;既应该是能突出作品内容特点、故事主题&#xff0c;又具有一定的趣味性的&#xff0c;能吸引读者&#xff0…

android加一减一控件,Android的步进器(增加/减少值)控件?

用于Android的步进器(增/减值)控件&#xff1f;没有像Android中的Stepper这样的内置控件但是您可以尝试这种方式android:layout_width"wrap_content"android:background"#ffffff"android:layout_height"wrap_content"android:orientation"h…

qt web混合编程_Qt+VS混合编程教程

VSQt配置VSQT混合编程后打包的项目可以移植到2017程序中&#xff0c;此处的版本不影响使用。VSQt配置VS&#xff1a;2013Qt&#xff1a;5.5.1qt-vs-addin:1.2.3-opensource1. 所有Qt版本下载地址&#xff1a;http://download.qt.io/archive/qt/2. 所有Qt Creator下载地址&#…

python 自动上报json信息_python接口自动化5-Json数据处理

前言有些post的请求参数是json格式的&#xff0c;这个前面第二篇post请求里面提到过&#xff0c;需要导入json模块处理。一般常见的接口返回数据也是json格式的&#xff0c;我们在做判断时候&#xff0c;往往只需要提取其中几个关键的参数就行&#xff0c;这时候就需要json来解…

eclipse html页面校验,当我在Eclipse浏览器中运行url时,HTML表单未通过验证

尝试这个&#xff1a;function emptyvalidation(field, errorMessage) {if (field.value null || field.value "") {alert(errorMessage);field.focus();return false;} else {return true;}}function validateAndSend() {if (emptyvalidation(nameField,"Ple…

xcode+文字支持html元素,iOS使用UITextview实现富文本编辑

代码使用swift4 Xcode9及以上主要思路是Textview使用NSMutableAttributedString 转化为 html字符 给后台其中图片另外 截取htmlStr里相应的图片标示 组成字典imgs[“标示Str”] “图片Base64” 给后台再编辑时拿到后台的 带图html字符串转为NSMutableAttributedString给Textvi…

安装教程rtx2080ti_点云深度学习环境配置指南(一)Ubuntu16.04+RTX2080ti

【今日导读】想做点云深度学习&#xff1f;先把环境配置好吧。本期为初学者带来环境配置指南&#xff0c;有需求的同学赶快上手吧。配置为&#xff1a;Ubuntu16.04RTX2080tiNVIDIA驱动cuda10.1cudnn7.5。一、安装NVIDIA驱动法一(优先推荐)&#xff1a;先添加NVIDIA 的ppa 源&am…

html5响应式网站优势,响应式网站优势有哪些 真的利于排名优化么

今天我们一起来探讨下响应式网站的优势&#xff01;是否利于排名&#xff0c;因为的确很多朋友在这边进行徘徊&#xff0c;他们 总认为响应式网站并不利于排名&#xff0c;绝对并不正规&#xff0c;其实并不是这样的&#xff0c;下面为大家进行详细的讲解&#xff0c;希望 大家…

二维burgers方程_二维Burgers方程的RKDG有限元解法

二维Burgers方程的RKDG有限元解法∗马艳春1,张寅虎2,冯新龙1【摘要】摘要:本文应用RKDG有限元方法求解具有周期边界条件的二维非粘性Burgers方程&#xff0c;并给出稳定性分析和误差估计&#xff0e;基于一致网格剖分&#xff0c;采用Q1矩形元和广义斜率限制器进行数值模拟&…