阻止应用在Bluestacks、YouWave和其他模拟器中运行

4

我希望阻止我的应用在模拟器中运行,例如bluestacks/youwave等。是否有任何方法可以阻止甚至识别用户是否在bluestacks/youwave中运行?我的应用程序具有登录功能。因此,它还使用服务器,因此我不介意在客户端/服务器端阻止用户,只要他被阻止即可。非常感谢您的帮助。


1
检查Build类中的各种值,看看这些仿真器是否有任何独特之处。 - CommonsWare
@CommonsWare 谢谢你的回复。经过一番调查,看起来bluestacks模拟器对于'TelephonyManager.getline1number()'返回null。这样做是否明智?会阻止许多其他设备(除了平板电脑)上的应用程序吗? - user1837278
只是好奇... 你为什么特别想要屏蔽模拟器? - user56reinstatemonica8
3
用户使用模拟器来“作弊”,为了推荐奖励而创建虚假用户,这很可能是原因。 - Jeremy
你解决了这个问题吗? - Jambaaz
显示剩余5条评论
1个回答

2

1:检查SIM卡号,拒绝没有SIM卡的人访问。这包括平板电脑,因为您已经说明了您想要阻止它们。

Java:

TelephonyManager telemamanger = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String getSimSerialNumber = telemamanger.getSimSerialNumber();
String getSimNumber = telemamanger.getLine1Number();

Manifest.xml:

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

2. 模拟器内核检查。

如果 #1 失败是因为用户修改了他们的模拟器,请检查 (ro.kernel.qemu == 1)。这个属性是只读的,对于模拟器它将始终返回1。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接