如何获取Android唯一标识

如何获取Android唯一标识,第1张

java获得android的imei号步骤:

1、权限添加:

<uses-permission android:name="androidpermissionREAD_PHONE_STATE" />

2、调用android的api

TelephonyManager telephonyManager = (TelephonyManager) contextgetSystemService(ContextTELEPHONY_SERVICE);

String IMEI = telephonyManagergetDeviceId();

3、adb命令获得:

adb shell dumpsys iphonesubinfo

4、任何手机都可以在拨打电话的界面输入#06# 来查看IMEI。

1已禁用-[UIDevice uniqueIdentifier]

苹果总是把用户的隐私看的很重要。-[UIDevice uniqueIdentifier]在iOS5实际在iOS5的时候已经被遗弃了,但是iOS7中已经完全的禁用了它。Xcode5甚至不会允许你编译包含了指引到-[UIDevice uniqueIdentifier]的app。此外,iOS7之前的使用了-[UIDevice uniqueIdentifier] 的app如果在iOS7上运行,它不会返回设备的UUID,而是会返回一串字符串,以FFFFFFFF开头,跟着-[UIDevice identifierForVendor]的十六进制值。

3MAC地址不能再用来设别设备

还有一个生成iOS设备唯一标示符的方法是使用iOS设备的Media Access Control(MAC)地址。一个MAC地址是一个唯一的号码,它是物理网络层级方面分配给网络适配器的。这个地址苹果还有其他的名字,比如说是硬件地址(Hardware Address)或是Wifi地址,都是指同样的东西。

有很多工程和框架都使用这个方法来生成唯一的设备ID。比如说ODIN。然而,苹果并不希望有人通过MAC地址来分辨用户,所以如果你在iOS7系统上查询MAC地址,它现在只会返回02:00:00:00:00:00。

现在苹果明确的表明你应该使用-[UIDevice identifierForVendor]或是-[ASIdentifierManager advertisingIdentifier]来作为你框架和应用的唯一标示符。坦白的来说,应对这些变化也不是那么的难,见以下代码片段:

NSString identifierForVendor = [[UIDevice currentDevice]identifierForVendor UUIDString];

NSString identifierForAdvertising = [[ASIdentifierManager sharedManager]advertisingIdentifier UUIDString];

每种方法都适配一种特别的用法:

identifierForVendor对供应商来说是唯一的一个值,也就是说,由同一个公司发行的的app在相同的设备上运行的时候都会有这个相同的标识符。然而,如果用户删除了这个供应商的app然后再重新安装的话,这个标识符就会不一致。

advertisingIdentifier会返回给在这个设备上所有软件供应商相同的 一个值,所以只能在广告的时候使用。这个值会因为很多情况而有所变化,比如说用户初始化设备的时候便会改变。

最近在做一个OA考勤项目,里面有个需求是一个账号只允许绑定一台设备, 这就需要将设备唯一标识码与账号绑定在一起,咋一听 这还不So Easy啊,直接获取deviceID 不就好了。。。

咋一 *** 作也挺好。 可到了大面积的群体用户测试环节发现了几个问题。

简言之就是如果你的手机需要考虑Android9以上的设备,你就没办法通过获取系统提供的API完全的获取到设备唯一标识码,根据Android文档 唯一标识符最佳做法 你也许可以这样

呃 这个特殊运营商许可 和这个 READ_PRIVILEGED_PHONE_STATE 好像都不是我们一般的安卓应用能获取的到的。

想要能Android9以上又能不受到刷机,格式化的影响。 就只能 使用移动安全联盟(MSA)提出的补充设备标识

是由 移动安全联盟 提出的,包含以下三个标识:

缺点就是:并不是所有的品牌商都兼容了, 而且需要导入他们对应的包 。 这部分可参考 Android 10获取设备标识方案探究 这篇文章

特点: 如果格式化或者刷机,这个设备ID会更改(这个也是合理的)。

完善:可以在第一次生成后放入到内部存储和外部存储,下次进入先从内部存储获取,如果没有在去外部存储比较(App卸载,内部存储就没了)。 如果在没有就生成一个

以上就是关于如何获取Android唯一标识全部的内容,包括:如何获取Android唯一标识、ios用户唯一标识 现在有没有什么好的方法获得iOS设备的唯一标示、android 获得设备唯一标识码(总有一款适合你)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9334856.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存