Android 推送通知不存在';不显示或立即消失[CodenameOne]

Android 推送通知不存在';不显示或立即消失[CodenameOne],android,push-notification,codenameone,Android,Push Notification,Codenameone,我有两个安卓设备,安卓7.0和安卓8.1.0,我正在尝试使用CodenameOne向它们发送推送通知。 当我发送推送通知(类型99)时,它会正确地显示在Android 8设备上。 然而,安卓7.0设备似乎在托盘中收集所有推送通知,并仅短暂显示——不到一秒钟或根本不显示。我可以看到,只有在设备处于睡眠状态(屏幕为黑色)时才会收到通知。但在我解锁手机后,通知将不再显示 另外,另一个可能相关的问题是:在我的push(String value)方法中,我使用通知正文消息实现了一个stbar,以防显示未最

我有两个安卓设备,安卓7.0和安卓8.1.0,我正在尝试使用CodenameOne向它们发送推送通知。 当我发送推送通知(类型99)时,它会正确地显示在Android 8设备上。 然而,安卓7.0设备似乎在托盘中收集所有推送通知,并仅短暂显示——不到一秒钟或根本不显示。我可以看到,只有在设备处于睡眠状态(屏幕为黑色)时才会收到通知。但在我解锁手机后,通知将不再显示

另外,另一个可能相关的问题是:在我的
push(String value)
方法中,我使用通知正文消息实现了一个stbar,以防显示未最小化。因此,当我在安卓7设备中收到推送通知,然后打开应用程序(即使在收到推送时它被最小化),我可以看到工具栏(或者很多,如果推送次数很少的话。这不应该发生)

在这两个版本中,接收推送的Android日志似乎都很好。它们看起来像这样:

2021-03-08 12:14:52.308 16422-21684/com.company.app I/System.out:收到的消息{messageType=3,category=提醒,Message=提醒!;{'id':'251'}

2021-03-08 12:14:52.308 16422-21684/com.company.app I/System.out:收到推送消息:提醒!;{'id':'251'}

2021-03-08 12:14:52.308 16422-21684/com.company.app I/System.out:推送类型:3

2021-03-08 12:14:52.30816422-21684/com.company.app I/System.out:正在运行:false

然而,我注意到Android 7.0手机也有以下功能:

2021-03-08 11:46:07.6861548-1548/?V/NotificationService:pkg=com.company.app canInterrupt=false intercept=true


错误解决了我从
codenameone\u设置中的构建提示中删除
android.background\u push\u handling=true的问题。将始终调用属性

push(String)
(即使对于后台推送消息)。您需要明确防止显示不希望显示的消息。当你说“简要展示”时,你的意思是从托盘中取出?本地安卓秀?这与gmail等其他应用程序的行为不同吗?通知会在托盘中短暂显示,持续不到一秒钟,然后消失。有时,虽然它根本不显示在那里。是的,我相信这是一个原生的Android展示托盘。通知是使用
com.codename1.push
push()实现的。这只发生在这个应用程序中,所有其他通知都可以正常工作。而且,我刚刚注意到。当应用程序被终止时,7.0设备会正确接收并显示通知。它只在应用程序在后台运行时短暂显示。我想你的意思是当应用程序在前台运行时?当应用程序运行时,我们从任务栏中删除推送通知,使其行为与iOS一致,iOS以这种方式运行。我们的假设是,应用程序UI位于前台,因此您可以在应用程序中显示UI通知。@ShaiAlmog前台您的意思是当应用程序显示在屏幕上时?不,应用程序不显示,它只是在后台运行,可以在当前运行的应用程序列表中找到(如此屏幕截图上的PlayStore应用程序)。因此,在我的不同设备上,即使应用程序被列为正在运行,我也会收到推送。但不是在这个安卓7.0上。