我创建了一个应用程序,我不想在模拟器上得到通知。我希望FCM推送通知只在真正的设备。那么,如何限制对模拟器、bluestacks、Genymotion或其他模拟器的通知呢?
我在谷歌上搜索过,但没有找到任何解决方案。所以如果我错过了什么,请提供链接。
发布于 2017-04-14 06:51:59
如果应用程序在模拟器上启动,就不要订阅firebase通知。
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);
}您还可以在本主题How can I detect when an Android application is running in the emulator?中找到其他一些方法。
https://stackoverflow.com/questions/43406506
复制相似问题