【问题标题】:how to determine whether apk is running on emulator or real device? [duplicate]如何确定apk是在模拟器还是真机上运行? [复制]
【发布时间】:2013-02-27 10:29:55
【问题描述】:

我想阻止用户在模拟器上注册,那么如何确定apk是在模拟器上运行还是在真机上运行?谢谢!

【问题讨论】:

标签: android android-emulator


【解决方案1】:

试试这个

if (Build.BRAND.equalsIgnoreCase("generic")) {
                 Toast.makeText(getBaseContext(), "YES, I am an emulator", Toast.LENGTH_LONG).show();
           } else {
               Toast.makeText(getBaseContext(), "NO, I am NOT an emulator", Toast.LENGTH_LONG).show();
              }

【讨论】:

    【解决方案2】:

    您可以检查硬编码到模拟器中的设备 ID。 检查:

    TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
    Log.e("id", telephonyManager.getDeviceId());
    

    结果应该是这样的:

    03-12 09:50:08.043: E/id(447): 000000000000000
    

    经许可

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-29
      • 2021-02-11
      • 2020-12-05
      • 1970-01-01
      • 2016-05-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多