JS怎么能实现获取设备的UUID,比如手机访问这个地址可以获取它的UUID。

JS怎么能实现获取设备的UUID,比如手机访问这个地址可以获取它的UUID。,第1张

无法做到,包括后端语言也无法在 Web 中获取 UUID。

基于安全问题,JavaScript 无法获取到设备的 UUID,也没有接口可以获取 UUID。

如果 JavaScript 可以轻松做到,安卓设备的 APP 权限岂不是花瓶?!

TelephonyManager telMgr = (TelephonyManager) localContext

getSystemService(ContextTELEPHONY_SERVICE);

String imsi = telMgrgetSN();

MTK的。

其他手机没了解过。只有Phone才有权限去读取。你可以跟一下

按照正常的获取运行时权限流程走,但是不d出授权框,就直接走回调的拒绝授权了。

解决过程:

刚开始以为是勾选了不再提示的原因,后来卸载重装,还是一样的问题。去权限管理列表查看,发现列表中没有我申请的权限(写SD卡),于是怀疑是不是权限名称打错了。后来仔细查看AndroidManifestxml文件,发现还真是!!!

错误写法是这样子的:

一开始没仔细看,还真没注意这家伙有什么特别的,后来和别的权限对比,发现好像少了点什么。

正确写法:

发现了吗?错误写法的前面少了androidpermission。最坑的是AndroidStudio并没有报错,logcat也没有看到有任何报错信息!!!以后写代码还是要仔细呀!

UUID是15中新增的一个类,在javautil下,用它可以产生一个号称全球唯一的ID。

import javautilUUID;

public class Test {

public static void main(String[] args) {

UUID uuid = UUIDrandomUUID();

Systemoutprintln (uuid);

}

}

是可以直接用的。

这种方法是,以一些特定的信息为基础,生成设备的唯一标识。

首先,算法角度,常用的有UUID、摘要两种。这两种算法都是以特定的数据为基础,生成一个唯一的、固定长度的字符串。这里选择UUID。

其次,计算的基础数据,建议选择divice_id和android_id。原因是,1)这两个标识虽然不能抵抗wipe *** 作,但受用户的行为影响比较小;2)如果正常获取,都是唯一的;③如果不能正常获取,结果也是固定的,不会频繁变化。

再次,优先级的考虑。从这两个标识的缺点考虑。

1)device_id。

①不能标识非手机设备,例如Pad。

②权限问题,因为用户的反感。

③获取异常,厂商定制系统中存在的bug,致使返回结果为空,或者为一串“0”或“”。

④对于双卡双待手机,会返回两个device_id。

2)android_id。

①Android23以前,系统Bug,导致不同的设备产生相同的结果:9774d56d682e549c。

②有些可能返回null。

③设备差异:对于CDMA设备,与device_id返回相同的值。

综合考虑,device_id不能标识某些pad,以及用户的权限问题,是我们不能接受的,所以优先使用android_id。对于android_id返回为null的情况,再考虑使用device_id。

最后,当android_id和device_id都返回异常的情况,我们可以随机生成一个UUID。

以上就是关于JS怎么能实现获取设备的UUID,比如手机访问这个地址可以获取它的UUID。全部的内容,包括:JS怎么能实现获取设备的UUID,比如手机访问这个地址可以获取它的UUID。、android 如何获取到手机的机器码、安卓环境下,使用plus.device.uuidd出授权d框,确定授权后获取不到值,要如何处理等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存