2011-03-25 172 views
1

我可以從一個程序(服務)在狀態欄中創建多個通知嗎?或者我應該使用可點擊列表(例如LinearLayout)的對象創建新的活動?多個狀態欄通知

回答

1

您當然可以從服務或應用程序創建多個通知,但是您必須問自己,作爲用戶,您希望應用程序向您發送垃圾郵件通知。我一直在使用遠程服務中的一個通知,並通過更新其內容來重複使用相同的通知。這裏有一個例子:如果通知不旋轉,這意味着你需要約3或4個不同的東西同時通知用戶,然後有一個打開ListActivity將是最好的方式去通知

public void onPlaybackStarted(int currentTrack, Show show) { 
notificationManager.cancel(R.layout.notification_playing); 

notification.tickerText = show.getTracks().get(currentTrack).getName(); 
if (notificationView == null) { 
    notificationView = new RemoteViews(getPackageName(), R.layout.notification_playing); 
} 
notificationView.setTextViewText(R.id.notification_playing_track, show.getTracks().get(currentTrack).getName()); 
notificationView.setTextViewText(R.id.notification_playing_band, show.getArtist()); 
notificationView.setTextViewText(R.id.notification_playing_date, show.getDate()); 
Intent intent = new Intent(TrackPlayerService.this, ListTracksActivity.class) 
     .putExtra("track", currentTrack) 
     .putExtra("artist", show.getArtist()) 
     .putExtra("date", show.getDate()) 
     .putExtra("location", show.getLocation()) 
     .putExtra("venue", show.getVenue()) 
     .addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); 
notification.contentView = notificationView; 
notification.contentIntent = PendingIntent.getActivity(TrackPlayerService.this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT); 
notification.flags |= Notification.FLAG_ONGOING_EVENT; 

notificationManager.notify(R.layout.notification_playing, notification); 
} 

+0

好的,謝謝你,我會創建一個新的活動。 – DZeN 2011-03-25 17:23:21