Как узнать из кода, работает ли мое приложение Android на эмуляторе или реальном устройстве?

Я уже прочитал этот поток stackoverflow и попытался использовать код, приведенный в этом ответе, чтобы узнать, запускаю ли я свой код на эмуляторе или на реальном устройстве:

import android.content.ContentResolver;
import android.provider.Settings.Secure;
...     
mTextView.setText(Secure.getString(getContentResolver(), Secure.ANDROID_ID));

На на моем реальном устройстве он возвращает «2bccce3 ...», однако на эмуляторе он возвращает не null, а также строку «bd9f8 ...»

Идеи, как определить, будет ли эмулятор или реальное устройство из кода очень оценен

16
задан Community 23 May 2017 в 12:00
поделиться

1 ответ

Как насчет этого решения:

  public static boolean isRunningOnEmulator()
    {
    boolean result=//
        Build.FINGERPRINT.startsWith("generic")//
            ||Build.FINGERPRINT.startsWith("unknown")//
            ||Build.MODEL.contains("google_sdk")//
            ||Build.MODEL.contains("Emulator")//
            ||Build.MODEL.contains("Android SDK built for x86");
    if(result)
      return true;
    result|=Build.BRAND.startsWith("generic")&&Build.DEVICE.startsWith("generic");
    if(result)
      return true;
    result|="google_sdk".equals(Build.PRODUCT);
    return result;
    }
2
ответ дан 30 November 2019 в 16:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: