Android Firebase 背景通知仅在 vivo 设备上不起作用



我正在使用FCM推送通知在后台模式下启动服务,但应用程序在杀死应用程序后不会收到任何通知。在其他设备中,它工作正常。

当我手动启用自动启动时,它将正常工作。 但是如果没有启用自动启动,它将无法正常工作。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
Intent intent = new Intent(ACTION_MAIN);
intent.setClass(this, LinphoneService.class);
intent.putExtra("PushNotification", true);
startForegroundService(intent);
} else {
Intent intent = new Intent(ACTION_MAIN);
intent.setClass(this, LinphoneService.class);
intent.putExtra("PushNotification", true);
startService(intent);
}

每当应用在所有设备中收到 Firebase 推送通知时,我都需要启动我的服务,而无需启用自动启动功能。

(1(vivo和其他中国OEM(小米,Oppo,Mi(限制后台任务。 - 特别适用于安卓9及以上。

截至目前,启用自动启动是唯一的选择。 您可以提示用户自动启动权限,将他带到设置页面并请求他启用自动启动。 检查这个SO答案。

(2( 忽略电池优化的系统对话框

在此处检查安全问题:默认情况下,棉花糖以上的所有应用程序都启用了电池优化。

https://commonsware.com/blog/2015/11/11/google-anti-trust-issues.html

你可能希望提示用户禁用电池优化,让应用在后台执行你的任务

相关内容

  • 没有找到相关文章

最新更新