原文链接:http://blog.csdn.net/hytfly/article/details/8552483

IMEI号,IESI号,手机型号:

  1. private void getInfo() {
  2. TelephonyManager mTm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
  3. String imei = mTm.getDeviceId();
  4. String imsi = mTm.getSubscriberId();
  5. String mtype = android.os.Build.MODEL; // 手机型号
  6. String numer = mTm.getLine1Number(); // 手机号码,有的可得,有的不可得
  7. }

手机型号 Build.MODEL

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

sdk版本 Build.VERSION.SDK

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

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

String RELEASE The user-visible version string.

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

String BOARD The name of the underlying board, like "goldfish".
String BOOTLOADER The system bootloader version number.
String BRAND The brand (e.g., carrier) the software is customized for, if any.
String CPU_ABI The name of the instruction set (CPU type + ABI convention) of native code.
String CPU_ABI2 The name of the second instruction set (CPU type + ABI convention) of native code.
String DEVICE The name of the industrial design.
String DISPLAY A build ID string meant for displaying to the user
String FINGERPRINT A string that uniquely identifies this build.
String HARDWARE The name of the hardware (from the kernel command line or /proc).
String HOST  
String ID Either a changelist number, or a label like "M4-rc20".
String MANUFACTURER The manufacturer of the product/hardware.
String MODEL The end-user-visible name for the end product.
String PRODUCT The name of the overall product.
String RADIO The radio firmware version number.
String SERIAL A hardware serial number, if available.
String TAGS Comma-separated tags describing the build, like "unsigned,debug".
long TIME  
String TYPE The type of build, like "user" or "eng".
String UNKNOWN Value used for when a build property is unknown.
String USER

明确几个概念:

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

记得添加权限:

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

获取手机屏幕高度:

  1. private void getWeithAndHeight(){
  2. //这种方式在service中无法使用,
  3. DisplayMetrics dm = new DisplayMetrics();
  4. getWindowManager().getDefaultDisplay().getMetrics(dm);
  5. String width = dm.widthPixels;              //宽
  6. String height = dm.heightPixels;           //高
  7. //在service中也能得到高和宽
  8. WindowManager mWindowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
  9. width = mWindowManager.getDefaultDisplay().getWidth();
  10. height = mWindowManager.getDefaultDisplay().getHeight();
  11. }

获取手机MAC地址:

  1. private String getMacAddress(){
  2. String result = "";
  3. WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
  4. WifiInfo wifiInfo = wifiManager.getConnectionInfo();
  5. result = wifiInfo.getMacAddress();
  6. Log.i(TAG, "macAdd:" + result);
  7. return result;
  8. }

手机CPU信息

  1. private String[] getCpuInfo() {
  2. String str1 = "/proc/cpuinfo";
  3. String str2 = "";
  4. String[] cpuInfo = {"", ""};  //1-cpu型号  //2-cpu频率
  5. String[] arrayOfString;
  6. try {
  7. FileReader fr = new FileReader(str1);
  8. BufferedReader localBufferedReader = new BufferedReader(fr, 8192);
  9. str2 = localBufferedReader.readLine();
  10. arrayOfString = str2.split("\\s+");
  11. for (int i = 2; i < arrayOfString.length; i++) {
  12. cpuInfo[0] = cpuInfo[0] + arrayOfString[i] + " ";
  13. }
  14. str2 = localBufferedReader.readLine();
  15. arrayOfString = str2.split("\\s+");
  16. cpuInfo[1] += arrayOfString[2];
  17. localBufferedReader.close();
  18. } catch (IOException e) {
  19. }
  20. Log.i(TAG, "cpuinfo:" + cpuInfo[0] + " " + cpuInfo[1]);
  21. return cpuInfo;
  22. }

获取手机可用内存和总内存:

  1. private String[] getTotalMemory() {
  2. String[] result = {"",""};  //1-total 2-avail
  3. ActivityManager.MemoryInfo mi = new ActivityManager.MemoryInfo();
  4. mActivityManager.getMemoryInfo(mi);
  5. long mTotalMem = 0;
  6. long mAvailMem = mi.availMem;
  7. String str1 = "/proc/meminfo";
  8. String str2;
  9. String[] arrayOfString;
  10. try {
  11. FileReader localFileReader = new FileReader(str1);
  12. BufferedReader localBufferedReader = new BufferedReader(localFileReader, 8192);
  13. str2 = localBufferedReader.readLine();
  14. arrayOfString = str2.split("\\s+");
  15. mTotalMem = Integer.valueOf(arrayOfString[1]).intValue() * 1024;
  16. localBufferedReader.close();
  17. } catch (IOException e) {
  18. e.printStackTrace();
  19. }
  20. result[0] = Formatter.formatFileSize(this, mTotalMem);
  21. result[1] = Formatter.formatFileSize(this, mAvailMem);
  22. Log.i(TAG, "meminfo total:" + result[0] + " used:" + result[1]);
  23. return result;
  24. }

获取手机安装的应用信息(排除系统自带):

  1. private String getAllApp() {
  2. String result = "";
  3. List<PackageInfo> packages = getPackageManager().getInstalledPackages(0);
  4. for (PackageInfo i : packages) {
  5. if ((i.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) {
  6. result += i.applicationInfo.loadLabel(getPackageManager()).toString() + ",";
  7. }
  8. }
  9. return result.substring(0, result.length() - 1);
  10. }

[转] android获取手机信息大全的更多相关文章

  1. android获取手机信息大全

    IMEI号,IESI号,手机型号: private void getInfo() { TelephonyManager mTm = (TelephonyManager) getSystemServic ...

  2. Android 获取手机信息,设置权限,申请权限,查询联系人,获取手机定位信息

    Android 获取手机信息,设置权限,申请权限,查询联系人,获取手机定位信息 本文目录: 获取手机信息 设置权限 申请权限 查询联系人 获取手机定位信息 调用高德地图,设置显示2个坐标点的位置,以及 ...

  3. android 获取手机信息工具类

    package com.yqy.yqy_listviewheadview; import android.content.Context; import android.telephony.Telep ...

  4. android获取手机信息2

    IMEI号,IESI号,手机型号: private void getInfo() { TelephonyManager mTm = (TelephonyManager) getSystemServic ...

  5. Android 获取手机信息

    private void initData() { TelephonyManager mTm = (TelephonyManager) getActivity().getSystemService(C ...

  6. (转)Android获取手机信息

    package com.water.activity; import java.util.List; import android.app.Activity; import android.os.Bu ...

  7. 【风马一族_Android】Android 从命令行界面获取手机信息

    Android 从命令行界面获取手机信息 1: cmd 打开命令行界面 2:adb devices   获取与电脑相连的设备,例如:模拟器.真机(手机) (右击“标记”,选择设备名称,点击“Ctrl+ ...

  8. android API版本对应的系统版本及Android获取手机和系统版本等信息的代码

    学了这么久的Android,竟然一直对其API对应的名称关系一值搞不清楚,现在网上认真看了下资料,转载一个觉得写得不错的作者的文章,记下来: [背景] 之前折腾android期间,慢慢地知道了,And ...

  9. Android获取手机设备识别码(IMEI)和手机号码

    最近看了下获取手机设备ID和手机信息以及SIM的信息例子,主要还是借鉴别人的,现在自己写一下,算是巩固加深了,也希望能给大家一个参考 必要的条件还是一部真机,SIM卡或者UIM卡. 首先,在Andro ...

随机推荐

  1. Linux 网卡驱动学习(一)(分析一个虚拟硬件的网络驱动样例)

    在Linux,网络分为两个层,各自是网络堆栈协议支持层,以及接收和发送网络协议的设备驱动程序层. 网络堆栈是硬件中独立出来的部分.主要用来支持TCP/IP等多种协议,网络设备驱动层是连接网络堆栈协议层 ...

  2. MyISAM的key_buffer_size和InnoDB的innodb_buffer_pool_size

    一.MyISAM的key_buffer_size MyISAM的索引方式是非聚集索引,主索引和其他索引没有本质区别,在data域都是存储了具体记录行的地址.key_buffer_size规定了系统将多 ...

  3. ural 1057 Amount of degrees 【数位dp】

    题意:求(x--y)区间转化为 c 进制 1 的个数为 k 的数的出现次数. 分析:发现其满足区间减法,所以能够求直接求0---x 的转化为 c 进制中 1 的个数为k的数的出现次数. 首先用一个数组 ...

  4. jquery 事件,注册 与重复事件处理

    jquery有时候会出现重复注册一个事件的问题,导致点击一个事件,这个事件被重复执行,也就是触发事件的次数有几次, 那么这个事件就会被执行叠加重复几次. 我这边做的一个项目,在某个页面初始化的时候,给 ...

  5. Jmeter变量参数化及函数应用

    分类: 测试工具 2006-12-14 10:54 12041人阅读 评论(5) 收藏 举报 javascriptloadrunnerrandom脚本测试多线程 我们在使用Jmeter录制脚本后,经常 ...

  6. PHP-CURL在POST请求时的注意事项

    今天搞12306抢票, 在用CURL模拟POST请求校验验证码时, 无论如何12306都返回零, 正常应该返回True或者False, 最后查找原因如下 只是请求头 Content-Type 用了 a ...

  7. asp.net core mvc视频A:笔记5-1.路由规则

    方法一:通过MapRoute方法,配置文件位置 小例子:如果所有路径都要在admin下,可以这样写 方法二:通过路由属性 相对路由 现在需要加/admin/home/index才能正常访问原来的默认页 ...

  8. linux 查看cpu相关信息命令

  9. Xilinx_7_Series_GTX简介

    Xilinx_7_Series_GTX简介 https://wenku.baidu.com/view/4639cde7bb68a98270fefab6.html

  10. objc_setAssociatedObject 使用(转)

    2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ...