Firebase Cloud Message Service



我正在创建一个使用 FCM 的应用程序。 它在某些设备上工作正常,但在OPPO等某些设备上,RED-MI 5 PRO消息在应用程序被杀后没有收到。 所以我要做的是确保每次在每台设备上都能收到消息。

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

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

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

你能做的是, 询问习惯手动将应用程序列入白名单,

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

对于精通技术的用户,它甚至可能有效,但如果您使用这种技术走不远,请不要感到惊讶。

我也面临这个问题。要获得有关此内容的详细说明,请参阅此处

相关内容

  • 没有找到相关文章

最新更新