Android – Notificación incorrecta publicada – No se pudo expandir RemoteViews para: StatusBarNotification

Estoy tratando de publicar una notificación con vista personalizada en el área de notificación de un IntentService, y obtener el error 'No podría expant RemoteView'.

Esto es lo que estoy haciendo en onCreate ():

mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); icon = R.drawable.icon; tickerText = "data upload in progress"; contentView = new RemoteViews(getApplicationContext().getPackageName(), R.layout.notiflayout); contentView.setImageViewResource(R.id.image, R.drawable.icon); contentView.setTextViewText(R.id.text, "Hello"); contentView.setProgressBar(R.id.progressBar, 100, 10, false); whatNext = PendingIntent.getActivity(getApplicationContext(), 0, new Intent(getApplicationContext(), starterActivity.class), 0); notification = new Notification(icon, tickerText, System.currentTimeMillis()); notification.contentView = contentView; notification.contentIntent = whatNext; 

Estoy llamando notify () de OnHandleIntent (), y cancelando las notificaciones en OnDestroy ().

He verificado que este código funciona en una aplicación independiente, que no tiene un IntentService. Hacer esto en un IntentService es de alguna manera dar problemas.

¿Podría alguien explicar por favor qué es lo que estoy haciendo mal?

¡Gracias!

Bueno, el error se debió a la excepción ResourceNotFound. Estaba recibiendo el mensaje "no podía inflar la vista para la notificación".

Seguí cavando, y siguiendo el consejo aquí arregló mi problema. Renombrado drawable-mdpi a drawable.

Y, después de asegurarse de que el código funcionó, cambié el nombre de la carpeta de nuevo a drawable-mdpi. Las cosas siguen funcionando, haciéndome creer que un 'Clean Project' seguido de Build habría arreglado el problema.

Espero que esto ayude.

Para mí, el problema era que estaba estableciendo una altura específica para el diseño de raíz, en el archivo xml de vista de notificación personalizada.

Tan pronto como cambié:

Android: layout_height = "@ dimen / notification_expanded"

a

Android: layout_height = "match_parent"

En el diseño raíz de la vista de notificación, se resolvió el problema.

También eche un vistazo a este ejemplo para ver un ejemplo sencillo de uso de diseño personalizado para las notificaciones.

En mi caso, la excepción fue causada por una View regular en mi diseño de notificaciones personalizadas. Básicamente, es porque se le permite usar sólo ciertos widgets como TextView, ImageView y así sucesivamente.

Por razones desconocidas no se le permite referenciar la dimensión en la vista de raíz de la vista remota personalizada. Así que tienes que codificarlo duro como android:layout_height="64dp" pero si android:layout_height="@dimen/notification_height_that_64" te dará una Bad notification posted - Couldn't expand RemoteViews for: StatusBarNotification . Espero que esto sea de ayuda 🙂

En mi caso, pude corregir este error reduciendo el tamaño del icono que estaba proporcionando en .setSmallIcon();

Para mí, el problema era tener un elemento View en el conjunto de diseño personalizado para la notificación personalizada. La eliminación del elemento View del diseño resolvió el problema de la notificación incorrecta publicada.

Esta es una lista de elementos de diseño que se pueden utilizar, si desea crear una notificación personalizada mediante RemoteView .

Ni el proyecto de limpieza ni el ajuste del layout_height como match_parent funcionaron para mí.

Generalmente, este error significa que su contenido es un error, ¡compruébelo! Tal vez es mejor reemplazar su contenido con un diseño que contenga un TextView only.Ok, ejecutarlo, espero que la ayuda para usted.

  • Cómo reiniciar el servicio en android para llamar al servicio de nuevo
  • Android onCreate o onStartCommand para iniciar el servicio
  • ¿Cuál es el número máximo de servicios limitados por el sistema operativo Android?
  • Aplicación de Android como servicio sin actividad
  • Servicio enlazado de Android: ¿debo reconectar manualmente en onServiceDisconnected o intento reconectar automáticamente?
  • ¿Está el servicio de Android todavía vivo incluso después de que onDestroy () sea llamado?
  • ¿Es mejor usar AsyncTask o Service para cargar un archivo en segundo plano?
  • Context.getApplicationContext () devuelve null en un Service
  • Android: Enviar correo electrónico con datos adjuntos automáticamente en segundo plano
  • Servicio de Android Creación de una nueva instancia de clase Singleton
  • ¿Es posible simular servicios de android bajo pruebas de unidad?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.