2012-01-10 142 views
3

我期望我的android应用程序只允许在真实设备上安装,而android-emulator can't.How我可以限制我的android应用程序只安装在真实设备上? 感谢您的回复。如何限制我的Android应用程序只安装在真实设备上?

+1

[这可以对你有所帮助(http://stackoverflow.com/q/2799097/593709) – 2012-01-10 08:18:14

+0

它依赖于应用程序的内存和设备 – 2012-01-10 08:26:24

+0

的总内存,你能告诉我们你为什么会需要这样的要求?只是好奇。 – san 2012-01-10 08:29:07

回答

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; 
    } 
+0

其实我们的模拟器的imei /设备ID是000000000 ....我想整体上是15个零。所以零或两个零不会工作。 – AgentKnopf 2013-01-03 10:49:38

0

不幸的是,你不能阻止人们在模拟器中安装,但如果你安装了Google Licensing,它将确保它不会在未经许可的设备上运行。

相关问题