有没有办法知道即将显示自定义通知?

时间:2011-10-09 15:06:09

标签: android

我有一个始终可供用户使用的自定义通知(不是特定事件的通知),并且应该提供最新数据。 有没有办法知道通知屏幕正在显示,所以我可以在此时更新我的​​通知数据,而不是定期轮询新数据?

由于

2 个答案:

答案 0 :(得分:0)

当您想要使用通知的ID进行更新时,您应该只调用NotificationManager的notify方法,这就是您应该更新通知的方式,而不是每次都调用新的通知。你在android上使用默认通知系统吗?

答案 1 :(得分:0)

使用通知管理器的详细信息:

设置您的初始讯息。然后做第一次通知:

    notificationIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
    Notification notification = new Notification(icon, tickerText, when);
    notification.flags = notification.flags | Notification.FLAG_ONGOING_EVENT;
    notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
    notificationManager.notify(GC.DATABASE_NOTIFICATION_ID, notification);

将contentText的文本更改为新信息。然后使用以下内容更新通知:

    notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
    notificationManager.notify(GC.DATABASE_NOTIFICATION_ID, notification);

如果展开通知栏,则会更新消息区域。无需关闭并重新打开通知栏。

显示屏的文字区域水平尺寸有限。可以显示的文字不多。这不在开发者指南中。

如果要显示比常规下拉显示中的进度条或更多文本,则必须自定义通知。请参阅开发人员指南。这是非常直接的。