0

对于给定的通知 ID,如果应用程序存在现有通知,是否可以(使用标准 android 包)不设置通知?

我有一个新闻应用程序通知用户突发新闻头条,其中一个要求是如果用户没有清除它或没有点击查看它,则不要覆盖突发新闻。

我使用 SharedPreference 来设置一个标志来确定我是否已经显示了一个标题加上一个删除意图来清除它。但是,当用户清除所有通知时,并不总是调用 deleteIntent。

提前致谢。

桑迪普

4

2 回答 2

0

对于以后关注此内容的任何人:

没有简单的方法可以使用 SDK 覆盖现有的通知 ID。这样做的方法是:

  • 通过 SharedPreference 使用布尔标志,如果设置了此标志,则不要写入通知
  • 当用户“清除”所有通知时重置此标志。为此设置一个 deleteIntent(通过服务),请确保在 onStartCommand() 和 onStart() 中清除此标志
  • 启动应用程序时可选择重置标志
于 2010-10-07T14:33:33.170 回答
0

如果您的要求是:

如果用户没有清除它或没有点击查看它,则其中一项要求是不要覆盖一个突发新闻。

您可以使用NotificationManager获取应用程序发布的所有活动通知的列表getActiveNotifications()

并检查用户是否已关闭或打开通知并采取所需的操作。

根据参考文档getActiveNotifications()

恢复活动通知列表:调用应用程序已发布但尚未被用户关闭或应用程序取消的通知。

希望能帮助到你。

于 2016-05-05T10:11:56.493 回答