android 自动生成id,《转载》生成Android设备的唯一ID
1.最简单的方式:获取IMEI号
TelephonyManager TelephonyMgr = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
String szImei = TelephonyMgr.getDeviceId();
权限
2.最保险的方式:通过UUID获取
//获得独一无二的Psuedo ID
public static String getUniquePsuedoID() {
String serial = null; String m_szDevIDShort = "35" + Build.BOARD.length()%10+ Build.BRAND.length()%10 + Build.CPU_ABI.length()%10 + Build.DEVICE.length()%10 + Build.DISPLAY.length()%10 + Build.HOST.length()%10 + Build.ID.length()%10 + Build.MANUFACTURER.length()%10 + Build.MODEL.length()%10 + Build.PRODUCT.length()%10 + Build.TAGS.length()%10 + Build.TYPE.length()%10 + Build.USER.length()%10 ; //13 位
try {
serial = android.os.Build.class.getField("SERIAL").get(null).toString(); //API>=9 使用serial号
return new UUID(m_szDevIDShort.hashCode(), serial.hashCode()).toString();
} catch (Exception exception) {
//serial需要一个初始化
serial = "serial"; // 随便一个初始化
}
return new UUID(m_szDevIDShort.hashCode(), serial.hashCode()).toString();
3.为毛其他有局限性:
用户手机号:用户可以更改他们的手机号 (非常不可靠)
Android ID:这个是不靠谱的,因为有时候它是null的,文档中明确说明,如果你恢复了出厂设置,那他就会改变的。而且如果你root了手机,你也可以改变这个ID
String m_szAndroidID = Secure.getString(getContentResolver(), Secure.ANDROID_ID);
它返回的是9774d56d682e549c这样一串东西,倒是不需要什么权限.
WLAN MAC地址:这也可以得到一个独一无二的ID号,返回的是 00:11:22:33:44:55 。但是当没有wifi的时候,我们是无法获得数据的。
蓝牙MAC地址:市面上大部分的应用不使用蓝牙,如果你的应用根本没用蓝牙,而你却和用户要了蓝牙权限的,那你很可疑。
android 自动生成id,《转载》生成Android设备的唯一ID相关推荐
- android自动测试2:使用android studio实现设备循环自动重启
一.前提: apk可以获得系统签名 二.适用: 需要对android设备进行循环重启测试 三.步骤: 1. AndroidManifest.xml中添加以下权限: <uses-permissio ...
- 全局唯一递增的id_分布式ID生成方法-趋势有序的全局唯一ID
一.需求缘起 几乎所有的业务系统,都有生成一个记录标识的需求,例如: (1)消息标识:message-id (2)订单标识:order-id (3)帖子标识:tiezi-id 这个记录标识往往就是数据 ...
- android自动申请悬浮窗权限,Android 悬浮窗--无需权限
image.png 无需一切权限,不受各种国产ROM限制,默认可以显示的应用内悬浮窗. 应用内显示,无需申请任何权限 应用内显示,所有机型都可以默认显示悬浮窗,无需引导用户做更多设置 支持拖拽 超出屏 ...
- java生成8位的uuid_分布式系统全局唯一ID简介、特点、生成
一.什么是分布式系统唯一ID 在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识. 如在金融.电商.支付.等产品的系统中,数据日渐增长,对数据分库分表后需要有一个唯一ID来标识一条数据或消息, ...
- android自动接听电话并回复,android自动接听电话各种异常处理
public void autoAnswerPhone() { try { Log.i(TAG,"autoAnswerPhone"); ITelephony itelephony ...
- java id生成器 分布式_分布式高效唯一ID生成器(sequence)
分布式高效唯一ID生成器(sequence) 简介 高效GUID产生算法(sequence),基于Snowflake实现64位自增ID算法. Twitter-Snowflake算法产生的背景相当简单, ...
- android 获取蓝牙设备id_不需要任何权限获得Android设备的唯一ID
这个问题来自于Is there a unique Android device ID? 我对这个问题的答案做了整理,包括将另一篇文章加入进来作为补充,可以完美解决此问题. 作者提出的问题: Andro ...
- 获取android设备唯一编号_获取android设备的唯一ID
在Android开发者官方blog上已经有一篇文章对此做了总结(参考链接1), 这里结合自已查询的资料再总结一下, 并给出最终符合要求的解决方案. 1. ANDROID_ID, Secure.ANDR ...
- 得到Android设备的唯一id
权限 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses- ...
最新文章
- RedHat 7配置FTP服务
- 最短Hamilton路径-状压dp解法
- No module named MNIST_写给小白的用fashion-mnist入门机器学习和深度学习的简单项目(非常全面!!!)...
- HTML5 canvas 初级入门教程【转】
- [英]Promises Don't Come Easy
- tika设置文件长度限制_MySQLInnoDB某些你没注意过的限制
- 毕业与计算机专业,电子与计算机工程专业毕业后干什么
- Flask使用bootstrap为HttpServer添加上传文件功能
- 小鹏汽车提交赴美IPO:上半年营收1.42亿美元 何小鹏持股31.6%为最大股东
- 火车票售票系统mysql_2021年元旦火车票今日开售!具体开售时间是几点?
- 我是如何提升 Rust 编译器的速度?
- mysql 初始化_MySQL安装与初始化
- python二维数组切片_python语言多维数组切片方法
- SpringBoot图片上传报错:The field headImg exceeds its maximum permitted size of 1048576 bytes.
- 华为路由器基本使用命令
- Directions Reduction-方向减少
- uni-app 动态获取元素wight/height/left/right/top/bottom/id
- 江苏省计算机二级高级office知识点,计算机二级高级Office常见知识点积累
- html中盒子的定位,css盒子的定位有哪些方法?
- 构造方法的定义、重载、调用、使用 (1)定义商品类Goods,