2017-03-09 125 views
-2

如何僅在設備上運行Android應用程序僅在不是仿真器的設備上運行Android應用程序

當應用程序開始檢查它在設備或模擬器上啓動時。如果它是模擬器想要停止的應用程序。

我怎麼能做到這一點...

+0

關閉仿真器 – TruongHieu

+1

您是否問過如何讓應用程序在啓動時不能在仿真器中運行,或者如何讓其他人無法在仿真器中運行應用程序? –

+0

亞..我想阻止其他人在模擬器上運行應用程序 – msj

回答

3

在您的發射活動的onCreate()方法,您可以檢查設備是否模擬器上運行,並且,如果是這樣,只需調用finish()。要檢查是否你在模擬器上運行,你可以使用類似下面的代碼(從this answer拍攝):

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); 
} 

你可以找到很多的網絡上的其他建議,用於檢測模擬器環境。我不知道那些絕對是萬無一失的,但上述內容非常強大。

相關問題