1

我想将我正在进行的事件图标放在状态栏的第二个位置,就像 Skype 在登录时所做的那样。

4

4 回答 4

1

由于通知管理器管理通知,因此这是不可能的。获得第一个位置的唯一方法是拥有一个服务并调用startForeground() - 但如果另一个服务已经做了同样的事情,您的通知将位于第二个位置。

除此之外,没有其他方式可以影响该职位。如果您首先创建通知,那么您就处于第一位。如果另一个应用程序首先创建通知,那么您是第二个。

于 2012-01-04T10:59:51.907 回答
1

所以我去谷歌搜索这个答案,我在惊人的 StackOverflow 上找到了这个问题。虽然Notification.priority = Notification.PRIORITY_MIN适用于 API 16 及更高版本,但做

Notification.when = 0

对于 API < 16 非常有效。

于 2013-01-06T03:17:07.383 回答
0

设置通知时,只需将 .when 字段设置为 Integer.MIN 或 Integer.MAX 即可分别在最左侧或最右侧显示通知。

在包括 ICS 的所有 Android 版本上,图标都按此字段排序。

在 JB (4.1) 上,您需要设置通知优先级以使其在左侧或右侧:

notification.priority = PRIORITY_MIN 右侧 notification.priority = PRIORITY_MAX 左侧

编辑:在平板电脑上,如果您使用 Notification.FLAG_FOREGROUND_SERVICE 或 startForeground,图标将位于右侧,而我试图将其移至左侧的所有操作都不起作用(在 ICS 上测试)。

于 2012-06-28T07:53:21.307 回答
0

http://grail.cba.csuohio.edu/~matos/notes/cis-493/lecture-notes/Android-Chapter23-Notifications.pdf

是一个很棒的文件!

查看示例:

产生通知。允许用户单击通知面板并执行适当的活动来参加消息。

很抱歉只发布链接。但是,这也会有帮助,我相信: Display status bar notification from service in android

于 2012-01-04T11:00:21.640 回答