Android: notificación incorrecta publicada sólo en Android 2.3
Estoy recibiendo informes sobre el bloqueo en Android 2.3 al mostrar la notificación. El stacktrace que tengo es:
android.app.RemoteServiceException: Bad notification posted from package com.megadevs.hubi: Couldn't expand RemoteViews for: StatusBarNotification(package=com.megadevs.hubi id=1 tag=null notification=Notification(vibrate=null,sound=null,defaults=0x0,flags=0x62)) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1048) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:130) at android.app.ActivityThread.main(ActivityThread.java:3687) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:507) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) at dalvik.system.NativeStart.main(Native Method)
He leído que Android 2.3 tiene algún problema con AnimatedImageView, pero no creo que lo esté usando … El código que ejecuto para mostrar la notificación es:
- Imagen de botón de reproducción / pausa en la notificación, Android
- El icono de la barra de notificaciones se vuelve blanco en Android 5 Lollipop
- Extraer el texto de la notificación de parcelable, contentView o contentIntent
- Cómo obtener detalles de contenido de notificación en NotificationListenerService
- Android: ¿Cómo colapsar la barra de estado en android 4.2?
NotificationCompat2.Builder builder = new NotificationCompat2.Builder(getApplicationContext()); notification = builder.setOngoing(true) .setAutoCancel(false) .setPriority(NotificationCompat2.PRIORITY_DEFAULT) .setSmallIcon(notificationSmallIcon) .setWhen(System.currentTimeMillis()) .setContentIntent(notificationIntent) .setContentTitle(downloads.elements().nextElement().getFileName()) .setProgress(100, (int) downloadable.getDownload().getProgress(), false) .build(); startForeground(DL_NOTIFICATION, notification);
ACTUALIZAR:
He descubierto que el problema aparece cuando intento actualizar la notificación iniciada con startForeground (), el código que ejecuto es:
notification.contentView.setProgressBar(android.R.id.progress, 100, (int) download.getProgress(), false); mNotificationManager.notify(DL_NOTIFICATION, notification);
Pero funciona correctamente en ICS y JB, así que ¿por qué está dando problemas en Ginger?
- Notificación incorrecta enviada desde el paquete, no se pudo expandir RemoteViews
- Android AlarmManager para continuar después de reiniciar / eliminado de RecentTaskManager
- Android - ¿Cómo configurar una notificación para una fecha específica en el futuro?
- Android Facebook SDK - Cómo consultar las notificaciones de Facebook
- Acciones de notificaciones de Android sin abrir la aplicación
- ¿Cómo iniciar la actividad cuando el usuario hace clic en una notificación?
- Cómo activar una actividad mediante una notificación local creada a partir de una notificación remota
- Notificación local en el teléfono 3.3.0
No haga referencia a la notificación directamente porque está utilizando NotificationBuilder para crear su objeto de notificación.
Retirar:
notification.contentView.setProgressBar(android.R.id.progress, 100, (int) download.getProgress(), false);
Añadir:
builder.setProgress(int max, int progress, boolean indeterminate)
Además, parece que está utilizando un diseño de notificaciones personalizado, vea los documentos cómo utilizarlo con el constructor http://developer.android.com/guide/topics/ui/notifiers/notifications.html
¿Estás viendo algo como android.view.InflateException? También comprueba dónde guardas notificationSmallIcon? ¿Puedes asegurarte de que el archivo png existe en una carpeta dibujable? No sólo en drawable-mdpi etc?
Puede publicar un registro completo cuando ejecute la aplicación.
- Completa la compilación del sistema operativo Android para un objetivo de hardware específico
- Instalar Android Studio en la instalación existente de IntelliJ Ultimate