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驱动,电源管理等 ...
随机推荐
- JQuery选择器中含有冒号的ID处理差异的分析
问题提出 对于一个输入框, 如果其id中含有冒号(:),选择器使用需要有特殊写法, 例如 id为下 <input type="text" value="ddd&qu ...
- 一种在视频OBJECT标签上放置均分四个区域的框选方法
一般在视频区域中做框样式,作应由视频插件自己来实现,但是出于其它一些原因自己琢磨了一个使用HTML标签来实现框选区域的方法,按照行外应该属于笨方法,虽然有点笨,可能在其他方面有借鉴意义,在这里拿出来跟 ...
- TCP中异常关闭链接的意义 异常关闭的情况
终止一个连接的正常方式是发送FIN. 在发送缓冲区中 所有排队数据都已发送之后才发送FIN,正常情况下没有任何数据丢失. 但我们有时也有可能发送一个RST报文段而不是F IN来中途关闭一个连接.这称为 ...
- C# App.config文件配置数据的读写
添加程序集引用 System.configuration.dll 和命名空间 using System.Configuration; 读: ConfigurationManager.AppSetti ...
- axure rp pro 7.0(页面原型工具)
axure rp pro 7.0 下载连接:地址
- 在linux中访问virtualbox的共享文件夹
1.在客户机里需要安装Virtualbox的增强功能. 2.使用virtualbox的图形界面设置好共享文件夹. 3.假设你设置的共享文件夹的名称是 share,使用如下命令在客户机的linux系统中 ...
- [3]R语言在数据处理上的禀赋——par参数详解(一)
本文目录 公共参数列表 par 颜色相关 字体相关 字体大小相关 线条相关 符号相关 线条和符号大小相关 结束 本文首发:program-dog.blogspot.com 注1:本文也曾在csdn发布 ...
- html+css创建提示框
看到下面的效果了吗? 本来我们站点是用下面的图片做的背景, 但是后期当更改完框中的提示内容,并且更新内容较多的时候,发现内容溢出了,如下图: 但是背景图片不能自动拉伸,还得重新做一张背景图,这样就导致 ...
- 错误,这个如何解决呢?内存溢出的问提。把JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m 还是不行
java.lang.OutOfMemoryError: PermGen space at java.lang.ClassLoader.defineClass1(Native Method) at ja ...
- Auty自动化测试框架第二篇——读取与执行脚本列表
[本文出自天外归云的博客园] 在Auty中的文件结构,lib目录下的read_selection.py和execute_selection.py文件: