NotificationBuilder.setProgress no hace nada en 2.3.5
Estoy utilizando la biblioteca de soporte v13. Creo una notificación de progreso con el generador de notificaciones y .setProgress. Funciona bien en un dispositivo 4.2.2, pero en 2.3.5 no se muestra nada.
¿Es este el comportamiento normal?
- Fragmento de la transición estándar sin animar
- Error al implementar la barra de acción de la biblioteca de soporte
- Enlace de datos con srcCompat
- GetSupportActionBar desde el interior de Fragment ActionBarCompat
- Problema de superposición de sugerencias de TextInputLayout
mNotifyManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); mBuilder = new NotificationCompat.Builder(this); mBuilder.setContentTitle("Photo Upload") .setContentText("Upload in progress") .setSmallIcon(R.drawable.ic_action_upload) .setOngoing(true); . . mBuilder.setProgress(100, prog, false); mNotifyManager.notify(sNotificationID, mBuilder.build());
- Android no puede cargar SupportV8 RenderScript en api <17
- ViewRootImpl.setPausedForTransition (boolean) NullPointerException en ActivityTransitionCoordinator cuando la transición a otra Actividad se invoca demasiado pronto
- Actualizar Android Support Library a 23.2.0 causa error: XmlPullParserException Archivo XML binario línea # 17 tag <vector> requiere viewportWidth> 0
- Enums y la anotación android intDef
- Convertir enum enumerado a Ennotación enumerada en android
- Problemas de procesamiento en Android Studio v 1.1 / 1.2
- Android Support Repo 46.0.0 con Android Studio 2.3
- Colorear botones en Android con AppCompat
Parece que en Gingerbread (y abajo) no es compatible, y no está documentado tampoco.
Aquí está el código real de la biblioteca de soporte que crea una instancia de Notification
:
static class NotificationCompatImplBase implements NotificationCompatImpl { public Notification build(Builder b) { Notification result = (Notification) b.mNotification; result.setLatestEventInfo(b.mContext, b.mContentTitle, b.mContentText, b.mContentIntent); // translate high priority requests into legacy flag if (b.mPriority > PRIORITY_DEFAULT) { result.flags |= FLAG_HIGH_PRIORITY; } return result; } }
La única opción viable es usar un RemoteView
personalizado. Es posible que desee ver el código fuente de Android para obtener un diseño de notificación de progreso de muestra.
Funciona bien en un dispositivo 4.2.2, pero en 2.3.5 no se muestra nada
Android 1.xy 2.x (especialmente Gingerbread) requiere de la Notification
contentIntent (también vacía). Así que crea una acción vacía como esta:
PendingIntent action = PendingIntent.getBroadcast(<context>, 0, new Intent(), PendingIntent.FLAG_UPDATE_CURRENT); ... mBuilder.setContentIntent(action);
Y ahora debería funcionar.