2011-10-09 116 views
1

我有一個自定義通知,它始終可供用戶使用(不是針對特定事件的通知)並應提供最新數據。 有沒有辦法知道通知屏幕顯示,所以我可以在這個時候更新我的通知數據,而不是定期輪詢新數據?有沒有辦法知道自定義通知即將顯示?

感謝

回答

0

你應該只調用NotificationManager的通知方法,當你想要做一個更新您的通知的ID,這只是你應該做更新您的通知的方式,它不叫輪詢新每次都有通知。你在android上使用默認的通知系統嗎?

+0

嗨,我的意思是如果我有一個不可取消的通知,顯示應用程序的狀態,而不是單個事件通知 – Oren

+0

感謝您的回答。然而,我的意思是,我是否有辦法知道通知即將顯示(例如用戶拉下通知區域)? – Oren

+0

我不認爲你可以做到這一點.. – Rejinderi

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); 

如果通知欄已展開,則會更新消息區域。無需關閉並重新打開通知欄。

顯示的文本區域在大小上是水平的。沒有太多的文字可以顯示。這是開發者指南。

如果要顯示比正常下拉顯示中的進度條或更多文本,則必須自定義通知。請參閱開發人員指南。這非常直截了當。

+0

我在我的項目中使用全局常量類。 GC.DATABASE_NOTIFICATION_ID是類中的一個公共整數值。它被定義爲'public final static int GC.DATABASE_NOTIFICATION_ID = 101; –

相關問題