Android 系统ID介绍
Android上系统ID有很多,本文只介绍常用的ANDROID ID、DEVICE ID、IMEI/MEID、WIFI/BT ADDRESS等几个,本文介绍这些ID的数据格式、长度及一些基本知识。
一、DEVICE_ID
DEVICE_ID是设备ID标识,用于唯一标识设备,这个ID似乎并非是独立的一串数字,而会由于终端的硬件配置不同,所取到的结果不同。
比如GSM手机DEVICE_ID可能是IMEI号,CDMA手机可能是MEID,不带MODEM的手机可能会返回NULL,也可能返回其它唯一值,比如MAC地址等。
二、MAC ADDRESS
MAC ADDRESS有两种:Wifi和BT,在设备出厂时分别独立设置。MAC地址共48位(6个字节),十六进制表示。前24位由IEEE决定如何分配,后24位由实际生产该网络设备的厂商自行指定。
MAC地址存储位置(WIFI): /sys/class/net/wlan0/address
三、ANDROID_ID
ANDROID_ID是Android系统第一次启动时产生的一个64bit(16BYTES)数,如果设备被wipe还原后,该ID将被重置(变化)。
四、CPU ID
CPU ID一般存储在/proc/cpuinfo中,该文件包含核心版本、型号、频率等信息。
更多关于系统信息可到/proc下查找,比如/proc/version、/proc/meminfo、/proc/version等。
五、IMEI/MEID和IMSI
IMEI/MEID都是面向具备手机功能的设备才有的设备识别号码。IMSI也叫订阅号Subscriber ID。IMSI和IMEI/MEID联合登录网络,由GSM/3G网络负责映射为我们的手机号。相关获取及管理工作可参考Android TelephonyManager部分。
此外,还有Google Service Framework(GSF ID KEY)、等ID标识,一般都是专用途,并不建议开发者随意去获取这些ID信息。
另,Google Play上有一些小软件可以查看此类信息,当然这些信息大部分都是涉及到用户隐私问题,如果说大量的Android市场程序(包括Windows Phone大部分应用也有此恶行)收集DEVICE_ID作为应用推广统计的话还还情有可原,那么大量要求访问通讯录、短信等权限要求基本都属于鄙劣行为,这严重侵害用户的利益,当然这也是当前网站把消费者向手机终端引导的一个主要目的。因为他们可以无限制的使用通话、通信录和短信功能,而在电脑上商家却没有任何办法。
天缘认为,此类涉及到用户订阅、发短信、拨打电话等行为,都应该建议用户手动去操作才对,而不是程序代为执行此类操作,大部分恶意软件很是忠于此行。
参考资料:
http://blog.csdn.net/billpig/article/details/6728573
http://zh.wikipedia.org/zh-cn/MAC%E5%9C%B0%E5%9D%80
http://stackoverflow.com/questions/2785485/is-there-a-unique-android-device-id
http://blog.csdn.net/guang_toad/article/details/10134939
http://blog.codepainters.com/2010/09/06/android-emulator-and-the-sim-card-serial-number/
http://www.metsky.com/archives/668.html
Android 系统ID介绍的更多相关文章
- Android系统框架介绍
src目录:主要是完成java代码的编写 assets目录:资源目录 res目录:存在图片,布局文件和字符串.菜单等文件 bin目录:输出文件夹,如生成的APK文件 project,propertie ...
- Android系统架构剖析(一)
要说剖析,可能这个词可能用的太大了,以下对Android系统的介绍也就是从我个人理解来说吧. 以前有人问我,Android是什么?当时这个问题问的我真的蒙了,我就简单的回了一下 ...
- Android系统研究资料收集---站在前人的肩膀上
Android系统研究资料收集---站在前人的肩膀上 针对Android系统研究任务,收集高价值资料在本页更新 AuthBlog:秋城https://www.cnblogs.com/houser032 ...
- Android系统中的广播(Broadcast)机制简要介绍和学习计划
在Android系统中,广播(Broadcast)是在组件之间传播数据(Intent)的一种机制:这些组件甚至是可以位于不同的进程中,这样它就像Binder机制一样,起到进程间通信的作用:本文通过一个 ...
- Android系统架构说明介绍
Android系统架构说明介绍 Android系统架构和一些普遍的操作系统差不多,都是采用了分层的架构,从他们之间的架构图看,Android系统架构分为四个层,从高层到低层分别是应用程序层.应用程序框 ...
- [转]Android系统Surface机制的SurfaceFlinger服务简要介绍和学习计划
转自:Android系统Surface机制的SurfaceFlinger服务简要介绍和学习计划 前面我们从Android应用程序与SurfaceFlinger服务的关系出发,从侧面简单学习了Surfa ...
- Android系统Surface机制的SurfaceFlinger服务简要介绍和学习计划
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8010977 前面我们从Android应用程序与 ...
- Android系统编程入门系列之应用环境及开发环境介绍
作为移动端操作系统,目前最新的Android 11.0已经发展的比较完善了,现在也到了系统的整理一番的时间,接下来的系列文章将以Android开发者为中心,争取用归纳总结的态度对初级入门者所应 ...
- Android 系统架构 和 各个版本代号介绍
一.Android 系统架构: 1. linux内核层Android 基于Linux内核,为Android设备的各种硬件提供底层驱动 比如: 显示驱动.音频.照相机.蓝牙.Wi-Fi驱动,电源管理等 ...
随机推荐
- XML中文本节点存储任意字符的方法
XML xml是一种可扩展标签语言, 为众多浏览器支持解析, ajax更是利用xml来完成服务器和客户端之前的通信. xml基本元素为 <label>xxx</label>, ...
- MSSQL 2012 拒绝了对对象 'extended_properties' (数据库 'mssqlsystemresource',架构 'sys')的 SELECT 权限
查看数据库的表的时候报如下错误: MSSQL 拒绝了对对象 ) 解决方法: 在数据库里相应的用户权限中,把db_denydatareader的复选框的勾去掉.db_denydatareader是拒绝访 ...
- 湖大OJ-实验C----NFA转换为DFA
实验C----NFA转换为DFA Time Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:65536KB Total submit us ...
- 【数论】二进制GCD
二进制GCD GCD这种通用的算法相信每个OLER都会 ,辗转相除,代码只有四行 : int GCD(int a,int b){ if(b==0) return a; return GCD(b ...
- django重量级web框架
一个WEB项目要解决什么问题? 1. 基本核心功能,即将请求的request通过调用本地程序进行计算,数据库查询,返回数据,生成按照http协议生成新的数据返回给客户端,解析这些返回的数据就交由浏览器 ...
- JQuery基础二
1.表单过滤器 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www ...
- 简单破解.net(C#)程序
一直在用makedown2(free版),每当打开多个页面,就会提示升级为pro,还要注册码激活什么的.就有了破解的想法.以前也弄过一个小程序的破解,所以还算有些经验. 1. ildasm 用来将ma ...
- CentOS 更改yum源与更新系统
FROM:http://www.cnblogs.com/lightnear/archive/2012/10/03/2710952.html [1] 首先备份/etc/yum.repos.d/CentO ...
- [windows API]获取当前系统图标,文字大小
取DPI 缩放比例 HWND wnd = ::GetDesktopWindow(); dbg_print("desktopwnd:0x%X\n",wnd); HDC dc = G ...
- 浙江理工2015.12校赛-B 七龙珠
七龙珠 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 781 Solved: 329 Description 话说孙壕请吃了青岛大虾后,一下子变穷了,就 ...