应用程式被杀死时com.google.android.gcm.GCMBroadcastReceiver在android Oreo中不起作用

时间:2018-07-05 04:22:57

标签: android google-cloud-messaging android-8.1-oreo

我使用GCM进行推送通知。在android Oreo中,当应用程序处于前台和后台时会收到推送。但是当应用程序被杀死时(从最近的应用程序中删除),推送没有收到。

我需要解决这个问题。我该如何解决?

谢谢。

2 个答案:

答案 0 :(得分:1)

如本link所述,请确保android中的消息优先级is not nested并应具有值"high"。此外,可能由于设备处于打Do模式或应用处于应用待机模式而未收到消息。这是explained in the documentation

同样基于此thread,如果应用处于停止状态,则FCM将停止传递推送消息。 由于用户故意强行杀死了一个应用程序,因此Android假定该应用程序不是必需的,并且其FCM推送服务也将被杀死。这是android的正常行为。

希望这会有所帮助!

答案 1 :(得分:0)

确保已将其添加到清单文件中。

namespace namespace.Helpers
{
    public static class Helper
    {
        public static int IndexOfUppercase(this string str, int startIndex = 0)
        {
            return str.IndexOfRegex(@"(\p{Lu})", startIndex);
        }

        public static int IndexOfRegex(this string str, string regex, int startIndex )
        {
            return str.Substring(startIndex).IndexOfRegex(regex);
        }

        public static int IndexOfRegex(this string str, string regex)
        {
            var match = Regex.Match(str, regex);
            if (match.Success)
            {
                return match.Index;
            }
            return -1;
        }
    }
}