手机扫一扫访问本页内容

微信扫描点右上角"···"分享到好友或朋友圈

关闭
微信扫一扫可打开小程序

微信长按图片或搜“分享录”可打开小程序

关闭

谈谈uni-app安卓端UUID唯一标识等设备信息解决方案

开发调试过程中为了区分不同设备通常需要获取UUID、IMEI、IMSI、型号、厂商等设备信息,uni-app可以通过plus.device.getInfo来获取设备信息,但是安卓端一旦用户不授权就无法获取,iOS端通过该方法获取设备唯一标识则不需要特别授权的。

使用plus.device.getInfo时需要注意的是,在一些android上如果被拒绝授权,将不触发success和fail回调方法,一直卡着也不报错!所以安卓端最好还是不要使用plus.device.getInfo来获取UUID唯一标识等设备信息,以免埋下深坑!这个问题在DCloud问答的获取设备信息(imei、imsi、uuid)的调整使用plus.device.getInfo方法的说明中就有提到。

针对由于用户不授权而无法获取UUID唯一标识等设备信息的问题,我们其实可以自己生成UUID作为用户设备唯一标识,在启动的时候用plus.io.requestFileSystem将其保存到应用私有文档目录下,第一次启动就创建并用uni.setStorage保存到本地缓存中,之后直接到缓存中获取即可。

不过这种方案存在一个问题,那就是重装应用UUID会改变,相对于卡死而无法获取设备信息这已经是很好的解决方案了,如果你有更好解决方案麻烦跟我说一下,好让我改进一下。

需要相关实现代码请到公众号发送关键字“s4515”获取,需要注意的是,要在App.vue的onLaunch等方法先获取UUID,不然会产生两个UUID。


展开阅读全文


上一篇:

下一篇:

服务器又要到期了鼓励一下吧
您还可以访问本站的小程序、公众号等所有端,或者下载APP, 在小程序、APP上可以评论文章以及保存图片还有在线客服哦,如您有任何疑问或建议可向作者提出意见反馈
扫码打开小程序可评论文章保存图片,在“我的”有实时在线客服哦,看效果?
关注我的公众号为您分享各类有用信息
分享录多端跨平台系统