如何限制仅在真实设备上安装的Android应用程序?

时间:2012-01-10 08:14:04

标签: android android-emulator apk android-install-apk

我希望我的Android应用程序只允许在真实设备上安装,并且android-emulator不能。我如何限制我的安装在真实设备上的android应用程序? 感谢您的回复。

2 个答案:

答案 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;
    }