
获取Android唯一标识的具体 *** 作步骤:
DEVICE_ID
假设确实需要用到真实设备的标识,可能就需要用到DEVICE_ID。在以前,Android设备是手机,这个DEVICE_ID可以同
通过TelephonyManagergetDeviceId()获取,它根据不同的手机设备返回IMEI,MEID或者ESN码,但它在使用的过程中
会遇到很多问题:
非手机设备: 如果只带有Wifi的设备或者音乐播放器没有通话的硬件功能的话就没有这个DEVICE_ID
权限: 获取DEVICE_ID需要READ_PHONE_STATE权限,如果只为了获取它,没有用到其它的通话功能,那这个权限有点大才小用
bug:在少数的一些手机设备上,该实现有漏洞,会返回垃圾,如:zeros或者asterisks的产品。
2 MAC ADDRESS
也可以通过手机的Wifi或者蓝牙设备获取MAC ADDRESS作为DEVICE ID,但是并不建议这么做,因为并不是所有的设备都有Wifi,并且,如果Wifi没有打开,那硬件设备无法返回MAC ADDRESS
3 Serial Number
在Android 23可以通过androidosBuildSERIAL获取,非手机设备可以通过该接口获取。
4 ANDROID_ID
ANDROID_ID是设备第一次启动时产生和存储的64bit的一个数,当设备被wipe后该数重置
ANDROID_ID似乎是获取Device ID的一个好选择,但它也有缺陷:
它在Android <=21 or Android >=23的版本是可靠、稳定的,但在22的版本并不是100%可靠的
在主流厂商生产的设备上,有一个很经常的bug,就是每个设备都会产生相同的ANDROID_ID:9774d56d682e549c
5 Installtion ID : UUID
这个是context类里的方法,如果你是在activity里写的代码,因为activity继承自context类,所以不用在传context对象,可以直接用,要是在其他类里,就要穿入context对象了,而且这个方法需要权限的,要在清单文件中声明权限
c#脚本获取安卓手机IMEI,使用前判断权限(仅限安卓9及以下获取)
if (PermissionHasUserAuthorizedPermission("androidpermissionREAD_PHONE_STATE"))
{
var unityPlayer = new AndroidJavaClass("comunity3dplayerUnityPlayer");
var context = unityPlayerGetStatic<AndroidJavaObject>("currentActivity");
var telephoneyManager = contextCall<AndroidJavaObject>("getSystemService", "phone");
string IMEI = telephoneyManagerCall<string>("getDeviceId");
if (!stringIsNullOrEmpty(IMEI))
{
imeiStr = IMEI;
}
}
vivo手机IMEI码查询方法:
1、打开拨号盘,在拨号界面输入 #06# 即可;
2、进入手机设置--系统管理/更多设置--关于手机中,可查询到;
(部分机型进入手机设置--我的设备--更多参数中可查询到)
3、手机包装盒上会有一张标注手机信息的的贴纸,在上面查看到IMEI码;
4、手机包装盒中的“重要信息与保修卡”册子,贴有手机的IMEI码。
1
打开手机
2
通常情况下,在拨号界面输入
#06#
(不同厂商的手机所需输入的内容不同,同一厂商不同手机所需输入的内容也可能不同,详细请查询对应手机型号)
3
即可回显出当前手机设备的IMEI
4
如果手机上无法找到,一般可以在手机的外包装上找到
5
将获取的IMEI到
电信设备进网管理页面
可以查询核实。
以上就是关于如何获取Android唯一标识全部的内容,包括:如何获取Android唯一标识、Android 获取手机IMSI、IMEI码的疑问、【获取安卓手机IMEI】等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)