Android. Сохраняйте уведомление на панели уведомлений.

Я написал функцию для уведомления и отображения на панели уведомлений:

private void showNotification() { CharSequence title = "Hello"; CharSequence message = "Notification Demo"; NotificationManager notificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); Notification notification = new Notification(R.drawable.icon, "A Notification", System.currentTimeMillis()); Intent notificationIntent = new Intent(this, Main_Activity.class); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); notification.setLatestEventInfo(Main_Activity.this, title, message, pendingIntent); notificationManager.notify(NOTIFICATION_ID, notification); } 

Он отлично работает, но what way we can keep the notification steady at Notification bar даже когда пользователь нажимает кнопку «clear» notificatios на панели уведомлений?

Пожалуйста, ознакомьтесь с панелью уведомлений приложения «Yahoo».

Введите описание изображения здесь

Я прочитал эту статью в SDK: http://developer.android.com/guide/topics/ui/notifiers/notifications.html#Updating , но не удалось выяснить.

Solutions Collecting From Web of "Android. Сохраняйте уведомление на панели уведомлений."

Использовать FLAG_NO_CLEAR

Просто установите его в экземпляр Notification перед его отправкой в NotificationManager :

 notificaton.flags |= Notification.FLAG_NO_CLEAR; 

Edit: Я только заметил, что если вы используете Notification.Builder (с Honeycomb) и сделаете уведомление «продолжающимся», оно также станет неуязвимым для «очистить все». См. Здесь .

По-видимому, это должно препятствовать разработчикам использовать FLAG_NO_CLEAR в нерезидентном уведомлении, поскольку это может смутить пользователя.

Попробуйте setOngoing (true).

 notification = new Notification.Builder(getApplicationContext()) .setLargeIcon( BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher)) .setSmallIcon(R.drawable.ic_launcher).setTicker(tickerText) .setWhen(System.currentTimeMillis()).setContentTitle(contentTitle) .setOngoing(true) .setContentText(contentText) .setContentIntent(contentIntent)