Страницы

Поиск по вопросам

воскресенье, 22 декабря 2019 г.

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

#java #android


Разрабатываю андроид-приложение и очень важно чтобы оно не запускалось с помощью
эмуляторов. Есть возможность проверить устройство на подлинность ? 
    


Ответы

Ответ 1



На en SO предлагают FINGERPRINT проверять: public static boolean isEmulator() { return 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") || Build.MANUFACTURER.contains("Genymotion") || (Build.BRAND.startsWith("generic") && Build.DEVICE.startsWith("generic")) || "google_sdk".equals(Build.PRODUCT); } Можно попробовать воспользоваться Android emulator detector'ом. Есть ещё такой вариант.

Ответ 2



Давным давно я использовал для этого запрос: //требуется специальный пермишен String deviceID = Settings.Secure.getString( context.getContentResolver(), Settings.Secure.ANDROID_ID); на эмуляторе это возвращает NULL, а на реальных девайсах некий LONG Не знаю насколько сейчас этот способ работает

Комментариев нет:

Отправить комментарий