安卓软件怎样识别手机

安卓软件怎样识别手机,第1张

楼主想知道手机与模拟器为何有区别的,搜来的文章:

Android区分模拟器和真机

最近在搞广告平台的插件,为了防止某些开发者在模拟机上刷数据,这就需要我们区分一下当前使用的是模拟机还是真机,在网上百度了一下,

找到了一段代码,简单的测试了一下是可以达到我们的目的的(不过LD说这种方式不行,有漏洞),所以我先把我的代码贴一下,坐等我LD的方案

获取手机的设备编号,模拟机的是000000000000000

[java]TelephonyManager telmgr = (TelephonyManager) getSystemService(ContextTELEPHONY_SERVICE);

String deviceID = telmgrgetDeviceId();

boolean isEmulator = "000000000000000"equalsIgnoreCase(deviceID);

if (isEmulator) {

Logi("xml","模拟器deviceID:"+deviceID);

}

else {

Logi("xml","真机deviceID:"+deviceID);

}

TelephonyManager telmgr = (TelephonyManager) getSystemService(ContextTELEPHONY_SERVICE);

String deviceID = telmgrgetDeviceId();

boolean isEmulator = "000000000000000"equalsIgnoreCase(deviceID);

if (isEmulator) {

Logi("xml","模拟器deviceID:"+deviceID);

}

else {

Logi("xml","真机deviceID:"+deviceID);

}

返回的唯一的设备ID,例如,GSM和CDMA手机的ESN,MEID,或IMEI号。如果设备ID是没有返回null。

需要权限:READ_PHONE_STATE

-----------------------------------------------------

要避开这样的检测,一般人没有这个水平的,所以,楼主的问题基本无解。

获取手机设备的相关信息,如IMEI、IMSI、型号、厂商等。通过plusdevice获取设备信息管理对象。

获取当前运行环境信息、与其它程序进行通讯等。通过plusruntime可获取运行环境管理对象。

直接上demo

注意:

获取IP地址和plusdevicegetInfo都是异步的,所以在使用的时候要注意时机

效果图:

Android和IOS获取imei、imsi、uuid时须知:

imei: (String 类型 )设备的国际移动设备身份码

如果设备不支持或无法获取(如用户未授权)则返回空字符串。 如果设备存在多个身份码,则以“,”字符分割拼接,如“862470039452950,862470039452943”。

平台支持

imsi: (Array[ String ] 类型 )设备的国际移动用户识别码

字符串数组类型,获取设备上插入SIM的国际移动设备身份码。 如果设备支持多卡模式则返回所有SIM身份码。 如果设备不支持或没有插入SIM卡则返回空数组。

平台支持

uuid: (String 类型 )设备标识

设备的唯一标识号。

平台支持

其他的属性和方法,参考html5plus官网:

>

以上就是关于安卓软件怎样识别手机全部的内容,包括:安卓软件怎样识别手机、H5获取手机设备信息、app版本信息、ip地址、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: https://outofmemory.cn/web/9390475.html

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

发表评论

登录后才能评论

评论列表(0条)

保存