gpt4 book ai didi

android - Firebase 云消息服务

转载 作者:太空宇宙 更新时间:2023-11-03 13:08:44 27 4
gpt4 key购买 nike

我正在创建一个使用 fcm 的应用程序。它在某些设备上工作正常,但在某些设备(如 OPPO、RED-MI 5 PRO)中,应用程序终止后未收到消息。所以我必须做的是确保每次在每台设备上都能收到消息。

最佳答案

因此对于中国设备,在后台处理应用程序服务方面存在很多问题。

它在 stock rom 中运行良好,但当涉及到自定义 ROM 时,就会出现很多问题,因为中国设备限制应用程序在后台使用。

因此,像 Whatsapp、Facebook 或任何大公司应用程序这样的应用程序都被这些自定义 ROM 列入了白名单。但对于新应用程序,您可以让该应用程序在后台可访问。当您从应用程序托盘中滑动应用程序时,它会将其视为强制退出。它甚至不会运行任何作业、计划任务。

你可以做的是,Ask Used to Manual white list the app using,

        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)
}

对于精通技术的用户来说,它甚至可能会奏效,但如果您对这种技术的了解不多,也不要感到惊讶。

我也遇到过这个问题。要获得对此的详细解释,请参阅 here

关于android - Firebase 云消息服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51208563/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com