【问题标题】:Android 8.x notifications : how to avoid the fade in/fade out of the notifications over my app when my app is open ?Android 8.x 通知:当我的应用程序打开时,如何避免我的应用程序上的通知淡入/淡出?
【发布时间】:2018-07-13 13:35:43
【问题描述】:

当用户在我的应用中执行某些特定操作时(当我的应用打开并且用户全屏可见时),它会创建一个包含一些有用信息的通知。

不过,我希望此通知仅在通知托盘中可见。我不希望它在用户使用应用程序时从我的应用程序的屏幕顶部淡入/淡出(就像以前在低于 8 的 Android 上工作一样)。

我在 Android 8 上使用通知通道的新型通知遇到了这个问题。

那么,当我的应用程序打开时,如何避免通知(由我的应用程序创建)在我的应用程序上的淡入/淡出?

谢谢。

【问题讨论】:

  • 这是您的通知还是来自其他应用?您的频道的重要性如何?
  • 我谈谈我的通知。我不在乎被其他应用程序的通知所困扰。我尝试了所有的通知重要性 => 不允许在我的应用程序上删除我的通知的淡入/淡出。还有其他想法吗?非常感谢。
  • 这很奇怪:据说低重要性通知不会产生“偷看”。我们在谈论什么褪色?你在哪里测试过这个?可以分享一些相关代码吗?
  • 查看我对自己问题的回答。感谢您的帮助。
  • 好的,对于您问题的其他部分,即“我怎样才能使它在用户在特定屏幕上时不会褪色” - 您需要将通知发布到单独的频道特定画面被打开。据我所知 - 除了这样做之外,别无他法。

标签: java android push-notification notifications android-notifications


【解决方案1】:

我将通知渠道的重要性降低到 IMPORTANCE_DEFAULT。

但是,我注意到要正确测试频道参数的更改,我必须卸载/安装应用程序,并且还可能临时更改频道 ID 的名称。

为了避免通知上出现一些奇怪的错误(例如:即使使用 IMPORTANCE_DEFAULT,通知也会从顶部淡入/淡出,即使使用 IMPORTANCE_DEFAULT 也会在通知上发出声音,等等...)我已将我的项目目标从 26 更改为 27 .

希望这会有所帮助。

【讨论】:

  • 我认为不需要卸载。您还可以在菜单中的某处创建一个临时按钮,该按钮将调用removeChannel,然后使用新参数调用createChannel。应该按预期工作。或者,您作为用户可以使用系统设置在应用程序选项中设置重要性级别。 Channels doc 有一段关于此的文章。
猜你喜欢
  • 2014-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-06
  • 1970-01-01
相关资源
最近更新 更多