2

我創建的應用程序中我不想在模擬器上獲取通知。我只想在真實設備中使用FCM推送通知。那麼如何限制仿真器,bluestacks,Genymotion或其他一些仿真器的通知?不想在模擬器上觸發Firebase推送通知

我在谷歌搜索,但我沒有得到任何解決方案。所以如果我錯過了某些東西,請提供該鏈接。

+1

在一些其他的方法,如果應用程序在仿真器啓動只是不同意火力通知。看到這個主題http://stackoverflow.com/questions/2799097/how-can-i-detect-when-an-android-application-is-running-in-the-emulator – shagi

+0

這有助於檢測到所有[this ](http://www.androidauthority.com/best-android-emulators-for-pc-655308/)? –

+0

應該是這樣的。但它可能取決於模擬器開發人員。 – shagi

回答

0

如果應用程序在仿真器上啓動,則不需要訂閱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); 
    } 

也u能找到這個話題How can I detect when an Android application is running in the emulator?