gpt4 book ai didi

android - 将通知固定到通知区域的顶部

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:33:30 25 4
gpt4 key购买 nike

我有一个每三秒刷新一次(即发送)的通知。我设置了 FLAG_ONGOING_EVENT 标志和 FLAG_NO_CLEAR 标志,以便始终显示。问题是,如果例如下载处于 Activity 状态(在通知区域显示进度条)两个通知不断切换位置,因为它们都每隔几秒刷新一次。

如何将我的通知固定到列表顶部(或某个静态位置),以便它在每次我通过调用 NotificationManager.notify() 更新它时停止跳转?

编辑:这是更新通知的代码。它每三秒运行一次。

Notification notification = new Notification();
notification.contentView = appBarNotification; // this sets the changed notification content
notification.flags |= Notification.FLAG_ONGOING_EVENT;
notification.flags |= Notification.FLAG_NO_CLEAR;

Intent notificationIntent = new Intent();
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
notification.contentIntent = contentIntent;
notification.icon = R.drawable.icon;

nm.notify(APP_BAR_NOTIFICATION, notification);

最佳答案

有一个解决方案可以完全满足您的需求。

Notification类中,有一个名为 when 的公共(public)字段.根据 API:

The timestamp for the notification. The icons and expanded views are sorted by this key.

默认行为(对于代码和编码人员来说都是一样的:) 是何时通知的时间戳:

notification.when = System.currentTimeMillis();

所以 - 为了保持正确的通知顺序,您需要做的就是给它一个预设的时间戳:

notification.when = previousTimestamp;

当您对所有通知执行此操作时,它们会保持其顺序。我遇到了和你一样的问题,并通过这种方式解决了。

关于android - 将通知固定到通知区域的顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6189817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com