Облачная служба сообщений Firebase - PullRequest
0 голосов
/ 06 июля 2018

Я создаю одно приложение, в котором я использую fcm. Это работает нормально на некоторых устройствах, но на некоторых устройствах, таких как OPPO, сообщение RED-MI 5 PRO не получено после закрытия приложения. так что я должен сделать, чтобы сообщение получалось каждый раз на каждом устройстве.

1 Ответ

0 голосов
/ 06 июля 2018

, поэтому с китайскими устройствами существует много проблем с обработкой сервисов приложений в фоновом режиме.

Он отлично работает на стандартных дисках, но когда дело доходит до настроенного ПЗУ, возникает много проблем, потому что китайские устройства ограничивают использование приложений в фоновом режиме.

Итак, такие приложения, как Whatsapp, Facebook или другие крупные фирмы, занесены в белый список этих пользовательских ПЗУ. Но для новых приложений вы можете сделать приложение доступным в фоновом режиме. Когда вы проводите приложение из панели приложений, оно считается принудительно завершенным. Он даже не запустит никаких заданий, запланированное задание.

Что вы можете сделать, Спросите используется для ручного белого списка приложения, используя,

        val intent = Intent()
        val manufacturer = android.os.Build.MANUFACTURER
        when {
            "xiaomi".equals(manufacturer, ignoreCase = true) -> intent.component = ComponentName("com.miui.securitycenter", "com.miui.permcenter.autostart.AutoStartManagementActivity")
            "oppo".equals(manufacturer, ignoreCase = true) -> intent.component = ComponentName("com.coloros.safecenter", "com.coloros.safecenter.permission.startup.StartupAppListActivity")
            "vivo".equals(manufacturer, ignoreCase = true) -> intent.component = ComponentName("com.vivo.permissionmanager", "com.vivo.permissionmanager.activity.BgStartUpManagerActivity")
            "Letv".equals(manufacturer, ignoreCase = true) -> intent.component = ComponentName("com.letv.android.letvsafe", "com.letv.android.letvsafe.AutobootManageActivity")
            "Honor".equals(manufacturer, ignoreCase = true) -> intent.component = ComponentName("com.huawei.systemmanager", "com.huawei.systemmanager.optimize.process.ProtectActivity")
        }
        val list = applicationContext.packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY)
        if (list.size > 0) {
            applicationContext.startActivity(intent)
        }

С технически подкованными пользователями это может даже сработать, но не удивляйтесь, если вы не продвинетесь слишком далеко с этой техникой.

Я тоже сталкивался с этой проблемой. Чтобы получить подробное объяснение по этому вопросу, обратитесь здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...