Я уже прочитал этот поток stackoverflow и попытался использовать код, приведенный в этом ответе, чтобы узнать, запускаю ли я свой код на эмуляторе или на реальном устройстве:
import android.content.ContentResolver;
import android.provider.Settings.Secure;
...
mTextView.setText(Secure.getString(getContentResolver(), Secure.ANDROID_ID));
На на моем реальном устройстве он возвращает «2bccce3 ...», однако на эмуляторе он возвращает не null, а также строку «bd9f8 ...»
Идеи, как определить, будет ли эмулятор или реальное устройство из кода очень оценен
Как насчет этого решения:
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;
}