Raj*_*kar 8 android firebase firebase-cloud-messaging
这款手机是OnePlus3T.氧气OS构建为4.1.6.当应用程序在后台但在内存中处于前台时,应用程序会收到通知.但是,当应用程序不在内存中时,不会收到通知,即从内存中刷出.在具有Android OS版本4.2,5.1.1,6.0.1,7.1.1的其他设备上收到通知.Latage OS甚至应用程序不在内存中.
请提出一些建议.提前致谢.
Rah*_*var 21
我也遇到了同样的问题.
解决这个问题的两种方法
1-使用通知负载
可以使用data标签或notification标签发送通知有效负载.
使用data标签
"data" {
"title": "welcome",
"description" :"to your app" ,
"image" :"image_url",
"deeplink" :"deeplink",
- -
}
Run Code Online (Sandbox Code Playgroud)
它将触发FirebaseMessagingService onMessageReceived方法.当应用程序在后台时,它将无法在某些设备上运行.
运用 notification
"notification" {
"title":"title",
"description" : "description",
"click_action" :"activity to be open"
..
}
Run Code Online (Sandbox Code Playgroud)
这是处理android系统尝试并显示通知,onMessageReceived你的FirebaseMessagingService的这种情况下的方法将不会调用.甚至app会在后台显示.这样做的一个缺点是 - 你不能自定义通知,因为它是由Android系统处理的.
更多信息
2-在设备设置中启用自动启动
当您发送通知使用data和应用程序被杀时,通知将不会显示.如果你观察到日志猫,你会看到
W/GCM-DMM: broadcast intent callback: result=CANCELLED forIntent { act=com.google.android.c2dm.intent.RECEIVE pkg=com.cabipool (has extras) }
Run Code Online (Sandbox Code Playgroud)
可以在oneplus 3设置中解决 - >应用程序 - >点击齿轮 - >最后一个选项应用程序选择应用程序自动启动 - >找到你的应用程序启用开关
这就是大多数设备中的问题,如Vivo,Oppo,xiaomi,Asus,一加三.
启用应用程序自动启动的步骤非常基于设备制造商.
更新:
OnePlus 3和Android 8.0自动启动选项已删除,因此您现在可以转到设置>电池>电池优化>(左上角的三点菜单)高级优化>关闭高级优化.
| 归档时间: |
|
| 查看次数: |
8312 次 |
| 最近记录: |