Android4模拟器滤镜功能,android 判断模拟器

这篇博客分享了三种方法来判断Android设备是否为模拟器,包括检查蓝牙是否存在且有效、检测光传感器以及分析CPU信息。作者测试了多种模拟器,发现部分模拟器可以通过这些方式被识别出来,但也有如夜神和天天模拟器能绕过CPU检测。代码可供参考,用于辨别真实设备和模拟器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我查到的资料有很多,但是人懒,没有一个一个去试。选了三种,实现了判断的功能,算是站在巨人的肩上完成的。

96dcb0f6100a

啦啦

第一种:判断蓝牙

虽然网上说很多模拟器都能屏蔽这个,但是天真的我去试了一下,妈蛋。为什么我下的模拟器都告诉我没有蓝牙,难道是我太帅了。上代码:

/**

* 判断蓝牙是否有效来判断是否为模拟器

*

* @return true 为模拟器

*/

public boolean notHasBlueTooth() {

BluetoothAdapter ba = BluetoothAdapter.getDefaultAdapter();

if (ba ==null) {

return true;

}else {

// 如果有蓝牙不一定是有效的。获取蓝牙名称,若为null 则默认为模拟器

String name = ba.getName();

if (TextUtils.isEmpty(name)) {

return true;

}else {

return false;

}

}

}

以上就是判断蓝牙的代码。当返回false时,那就是真机了,当为true时,就是模拟器了,后面雷同。我很懒的。

第二种:判断光传感器

话不多说,上代码。

/**

* 判断是否存在光传感器来判断是否为模拟器

* 部分真机也不存在温度和压力传感器。其余传感器模拟器也存在。

* @return true 为模拟器

*/

public static BooleannotHasLightSensorManager(Context context) {

SensorManager sensorManager = (SensorManager) context.getSystemService(SENSOR_SERVICE);

Sensor sensor8 = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT); //光

if (null == sensor8) {

return true;

}else {

return false;

}

}

第三种:判断CPU

/**

* 判断cpu是否为电脑来判断 模拟器

*

* @return true 为模拟器

*/

public static boolean checkIsNotRealPhone() {

String cpuInfo =readCpuInfo();

if ((cpuInfo.contains("intel") || cpuInfo.contains("amd"))) {

return true;

}

return false;

}

//用到的方法

public static StringreadCpuInfo() {

String result ="";

try {

String[] args = {"/system/bin/cat", "/proc/cpuinfo"};

ProcessBuilder cmd =new ProcessBuilder(args);

Process process = cmd.start();

StringBuffer sb =new StringBuffer();

String readLine ="";

BufferedReader responseReader =new BufferedReader(new InputStreamReader(process.getInputStream(), "utf-8"));

while ((readLine = responseReader.readLine()) !=null) {

sb.append(readLine);

}

responseReader.close();

result = sb.toString().toLowerCase();

}catch (IOException ex) {

}

return result;

}

好了,代码就到这里了。

我测试了一下:

1.逍遥模拟器 All 2. 蓝叠模拟器 All 3. 夜神模拟器 cpu

4. 靠谱助手 All5. 天天模拟器 cpu 6. 海马模拟器All 7.雷电模拟器 All

这些里面 夜神和天天的都跳过了CPU的验证,可能是我查的资料有问题吧。

96dcb0f6100a

我要说一声

上面的代码不是原创,准确的说,这是我复制的,写这篇文章,只是为了记录。怕以后忘了,所以不要打赏,如果觉得有用可以给个小心心的。

拜谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值