Android – Mantenga la notificación estable en Notification Bar
He escrito la función para notificar y mostrar en la barra de notificación:
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); }
Su funcionamiento muy bien, pero what way we can keep the notification steady at Notification bar
incluso cuando el usuario presiona el botón "notificaciones claras" de la barra de notificación?
- No se puede poner DrawerLayout en StatusBar
- Muestra la barra de progreso sin congelar la aplicación
- Barra lateral de Android
- Cómo crear un ActionBar personalizado con el cajón de navegación
- ProgressBar en ActionBar, como la última actualización de la aplicación de GMail
Por favor, eche un vistazo a la barra de notificación de la aplicación "Yahoo".
He ido a través de este artículo SDK: http://developer.android.com/guide/topics/ui/notifiers/notifications.html#Updating , pero no pudo averiguar.
- Android Volver Flecha en la barra de herramientas (AppCompatActivity)
- Cómo reemplazar el título predeterminado con el título personalizado en android
- Android - ¿cuál es la mejor solución para reducir repetidamente la barra de estado (SYSTEM_UI_FLAG_LOW_PROFILE) en tabletas en modo de pantalla completa?
- La barra de título sigue apareciendo, incluso con requestWindowFeature o android: theme
Utilizar FLAG_NO_CLEAR
Sólo tiene que configurarlo en su instancia de Notification
antes de suministrarlo al NotificationManager
:
notificaton.flags |= Notification.FLAG_NO_CLEAR;
Editar: Acabo de notar que si usted está usando Notification.Builder
(desde Honeycomb) y hacer la notificación "en curso", también será inmune a "borrar todo". Vea aquí .
Aparentemente, esto supone disuadir a los desarrolladores de usar FLAG_NO_CLEAR
en un notificaton no en curso ya que esto podría confundir al usuario.
Intente 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)