我希望我的Android应用程序只允许在真实设备上安装,并且android-emulator不能。我如何限制我的安装在真实设备上的android应用程序? 感谢您的回复。
答案 0 :(得分:0)
不幸的是,您无法阻止人们在模拟器中安装,但如果您安装了Google Licensing,则会确保它不会在未经许可的设备上运行。
答案 1 :(得分:0)
有一种方法可以处理它。只需检查设备ID(IMEI码)。对于模拟器,它总是null
,因此您可以定义有人试图在真实设备或模拟器中启动它。
TelephonyManager tm=(TelephonyManager )activity.getSystemService(Context.TELEPHONY_SERVICE);
if(tm==null || !this.hasTelephony())
{
Log.v(TAG, "Can't get telephony service. Forcing shut down!");
return false;
}
String deviceId=tm.getDeviceId();
if(deviceId==null || deviceId.length() < 2)
{
Log.v(TAG, "Looks like emulator - bail out!");
Toast.makeText(activity, "This special version not intended to run in this device!", 5000).show();
return false;
}