Ограничение запуска приложения Android на мобильном эмуляторе Android - PullRequest
1 голос
/ 20 июня 2019

У меня есть приложение, которое я хотел запустить только на физических устройствах, что означает отсутствие виртуальных устройств, таких как эмулятор Android. Если пользователь пытается установить или запустить его на эмуляторе, он должен выйти из приложения. Пожалуйста, предоставьте ограничивающую логику для того же. ТИА

1 Ответ

0 голосов
/ 20 июня 2019

Вы можете проверить, работает ли приложение на эмуляторе Android или нет с помощью этого метода. тогда, если он работает на эмуляторе Android, вы можете решить завершить деятельность (или что вы решите)

fun isRunningOnEmulator(): Boolean {
    var 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")
        || Build.MANUFACTURER.contains("Genymotion"))
    if (result)
      return true

    result = result or (Build.BRAND.startsWith("generic") && Build.DEVICE.startsWith("generic"))

    if (result)
      return true

    result = result or ("google_sdk" == Build.PRODUCT)

    return result
}

Если это не работает, вы можете попробовать эту библиотеку:

Android-эмулятор-детектор

если эта библиотека старая, вы можете проверить этот форк, который также обнаруживает эмулятор nox

Android-эмулятор-детектор, разветвленный daiwei92

...