概述
IMEI
百度百科解释:IMEI(International Mobile Equipment Identity)是国际移动设备身份码的缩写,国际移动装备辨识码,是由15位数字组成的“电子串号”,它与每台移动电话机一一对应,而且该码是全世界唯一的。每一只移动电话机在组装完成后都将被赋予一个全球唯一的一组号码,这个号码从生产到交付使用都将被制造生产的厂商所记录。
它有3个缺点:
-
需要
android.permission.READ_PHONE_STATE
权限,它在6.0+系统中是需要动态申请的。如果需求要求App启动时上报设备标识符的话,那么第一会影响初始化速度,第二还有可能被用户拒绝授权。 -
android系统碎片化严重,有的手机可能拿不到DeviceId,会返回null或者000000。
-
这个方法是只对有电话功能的设备有效的,在pad上不起作用。
ANDROID_ID
ANDROID_ID是设备第一次启动时产生和存储的64bit的一个随机数,不需要权限,pad通用,但是当设备恢复出厂模式后会被重置。
WIFI_MAC
基本上的Android设备都配备WLAN,可以通过WLAN地址来作为设备码,同理,也需要加入android.permission.ACCESS_WIFI_STATE 权限,否则返回null。在Android 6.0以后,系统做出许多重大的变化,官方是这么描述的:为了给用户更多的数据保护,从这个版本开始, Android 移除了通过 WiFi 和蓝牙 API 来在应用程序中可编程的访问本地硬件标示符。现在 WifiInfo.getMacAddress() 和 BluetoothAdapter.getAddress() 方法都将返回 02:00:00:00:00:00 。在新的版本当中要用其它的方法才行。
最后
以上就是糟糕冰棍为你收集整理的android获取设备唯一标识IMEIWIFI_MAC的全部内容,希望文章能够帮你解决android获取设备唯一标识IMEIWIFI_MAC所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复