以编程方式检查是否启用了 Firebase/GCM 消息传递



我需要检查我的 Android 应用中是否提供 firebase 消息传递 (FCM(,以便决定如何发送/处理通知。在Android设备上,可以对Google Play服务(GPS(进行检查,这在现有的Android上已经足够了。在LineageOS和类似平台上,如果没有GPS,可以安装microG之类的东西,并专门禁用FCM。在这种情况下,尽管 FCM 不可用,但上述检查将成功。有没有办法专门检查 FCM 是否已启用/禁用?microG 或类似的捆绑包是否为此提供了 API?

FirebaseApp.getInstance() throws IllegalStateException 

你我的尝试以下解决方案

private val isFirebaseEnabled: Boolean
    get() {
        return try {
            FirebaseApp.getInstance() != null.   //that is always true, nevertheless it will throw exception if Firebase is not available
        } catch (e: IllegalStateException) {
            false
        }
    }

最新更新