msj*_*msj 2 android emulation adb android-emulator
如何让我的应用程序仅在物理 android 设备上运行,而不是在模拟器上运行。
当应用程序启动时,我想检查设备是物理设备还是模拟器。如果它是一个模拟器,我希望我的应用程序停止。
我怎样才能做到这一点?
在onCreate()启动活动的方法中,您可以检查设备是否正在模拟器上运行,如果是,只需调用finish(). 要检查您是否在模拟器上运行,您可以使用类似以下代码的内容(取自此答案):
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);
}
Run Code Online (Sandbox Code Playgroud)
您可以在网络上找到许多其他建议来检测模拟器环境。我不知道任何绝对万无一失的,但上面的内容非常强大。
| 归档时间: |
|
| 查看次数: |
2664 次 |
| 最近记录: |