Android通知可避免不必要的通知更新

时间:2012-12-24 18:17:27

标签: java android eclipse notifications

我正在使用在后台每分钟调用一次的服务。它使用HTTP请求获取数据,然后通过通知通知用户有关数据的信息。问题是,如果它包含已经提取并在上次显示的相同数据,我不希望创建通知。

我尝试设置类似静态变量并存储来自最新请求的数据,以将其与最新获取的数据进行比较,并以这种方式知道它是否相同以及是否显示通知。

这是我的部分通知代码:

Intent notificationIntent = new Intent(NotificationService.this, MainMenu.class);
PendingIntent contentIntent = PendingIntent.getActivity(NotificationService.this, NOTIFICATION_REQUESTS_KEY, notificationIntent, 0);
notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
notification.flags = Notification.FLAG_AUTO_CANCEL;
PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);;
if (!powerManager.isScreenOn())
{
       mWakeLock = powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK |PowerManager.ACQUIRE_CAUSES_WAKEUP |PowerManager.ON_AFTER_RELEASE, "NotificationWakeLock");
       mWakeLock.acquire(10000);
       WakeLock mWakeLockCPU = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "NotificationCPUWakeLock");
       mWakeLockCPU.acquire(10000);
}
nm.notify(NOTIFICATION_REQUESTS_KEY, notification);

1 个答案:

答案 0 :(得分:0)

在本地保存contentText,每次从服务器获取数据时,在通知用户之前,请确保它是否是不同的contentText。如果它是相同的不通知。