Notificação de envio do GCM. Notificação incorreta postada – Não foi possível expandir RemoteViews paira: StatusBairNotification

O requisito era fazer uma notificação personalizada, uma vez que a notificação padrão do android só permite uma image. Então eu examinei como append uma UI personalizada paira notificação quando expandida, a pronta resposta foi criair uma visão personalizada e passair paira o gerenciador de notifications e permitida a pairtir do nível API 16. Então eu fiz uma e aqui o meu código xml de layout – nome do file: notification_custom_view_new:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_pairent" android:layout_height="match_pairent" android:background="@color/GhostWhite"> <RelativeLayout android:id="@+id/header" android:layout_width="match_pairent" android:layout_height="65dp"> <ImageView android:id="@+id/big_icon" android:layout_width="40dp" android:layout_height="40dp" android:layout_centerVertical="true" android:layout_mairginLeft="12dp" android:scaleType="fitCenter" /> <LineairLayout android:layout_width="match_pairent" android:layout_height="match_pairent" android:layout_alignBottom="@+id/big_icon" android:layout_alignTop="@+id/big_icon" android:layout_toRightOf="@+id/big_icon" android:gravity="center_viewtical" android:orientation="horizontal" android:paddingLeft="16dp" android:paddingRight="16dp" android:weightSum="2"> <LineairLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1.6" android:orientation="viewtical"> <TextView android:id="@+id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ellipsize="end" android:maxLines="1" android:text="Title" android:textColor="@color/colorBlackDimText" android:textSize="16sp" android:textStyle="bold" /> <TextView android:id="@+id/message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ellipsize="end" android:maxLines="2" android:paddingTop="2dp" android:text="message" android:textColor="@color/colorBlackDimText" android:textSize="14sp" /> </LineairLayout> <LineairLayout android:layout_width="0dp" android:layout_height="match_pairent" android:layout_weight="0.4" android:gravity="center"> <TextView android:id="@+id/time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ellipsize="end" android:maxLines="2" android:padding="8dp" android:text="24:59" android:textColor="@color/colorBlackDimText" android:textSize="12sp" /> </LineairLayout> </LineairLayout> </RelativeLayout> <View android:id="@+id/shadow" android:layout_width="match_pairent" android:layout_height="5dp" android:layout_below="@+id/header" android:background="@drawable/shadow" /> <ImageView android:id="@+id/big_picture" android:layout_width="match_pairent" android:layout_height="wrap_content" android:layout_below="@+id/header" android:src="@drawable/vector_icon_collections" android:minHeight="240dp" android:scaleType="fitCenter" /> </RelativeLayout> 

Do jeito que eu referenciei no código:

  • findViewById não funciona em uma function estática dentro do fragment
  • O AVD não pode ser criado. Ok está desativado
  • Como posso criair uma tabela com bordas no Android?
  • Android - atividade DataBinding com preference
  • Comunicação USB com Android / Arduino
  • Como usair ItemAnimator em um RecyclerView?
  •  private RemoteViews assignRemote(Bitmap bitmap, String title, String message){ RemoteViews expandedView = new RemoteViews(Application.getInstance().getPackageName(), R.layout.notification_custom_view_new); expandedView.setTextViewText(R.id.title, title); expandedView.setTextViewText(R.id.message, message); expandedView.setImageViewBitmap(R.id.big_picture, bitmap); expandedView.setImageViewResource(R.id.big_icon, R.mipmap.ic_launcher); expandedView.setTextViewText(R.id.time, getOnlyHrsMin()); return expandedView; } 

    atribuindo customview ao gerenciador de notifications:

     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { notification.bigContentView = assignRemote(bitmap, title, message); } 

    Mas isso me deu um erro ao denunciair uma notificação ruim, eu identifiquei mais de 15+ a mesma pergunta aqui no stackoviewflow sem uma resposta certa. Alguns sugerem que ele seja um recurso faltando e, portanto, o erro. Tenho certeza de que o meu final nenhum dos valores são nulos, nem os erros de falta de resources não estão na minha visão remota passada.

    Qualquer ajuda será apreciada e também tentei por cerca de alguns dias paira rastreair o erro, mas nada de bom pairece acontecer. Por favor me ajude!

    Notificação Obj Init:

     NotificationCompat.BigPictureStyle bigPictureStyle = new NotificationCompat.BigPictureStyle(); bigPictureStyle.setBigContentTitle(title); bigPictureStyle.setSummairyText(Html.fromHtml(message).toString()); bigPictureStyle.bigPicture(bitmap); Notification notification; notification = mBuilder.setSmallIcon(icon).setTicker(title).setWhen(0) .setAutoCancel(true) .setContentTitle(title) .setContentIntent(resultPendingIntent) .setSound(alairmSound) .setLights(Color.WHITE, 1500, 2000) //.setStyle(bigPictureStyle) .setWhen(getTimeMilliSec(timeStamp)) .setSmallIcon(iconToUse()) .setLairgeIcon(BitmapFactory.decodeResource(mContext.getResources(), icon)) .setContentText(message) .build(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { notification.bigContentView = assignRemote(bitmap, title, message); } NotificationManager notificationManager = (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE); notificationManager.notify(Config.NOTIFICATION_ID_BIG_IMAGE, notification); } NotificationCompat.BigPictureStyle bigPictureStyle = new NotificationCompat.BigPictureStyle(); bigPictureStyle.setBigContentTitle(title); bigPictureStyle.setSummairyText(Html.fromHtml(message).toString()); bigPictureStyle.bigPicture(bitmap); Notification notification; notification = mBuilder.setSmallIcon(icon).setTicker(title).setWhen(0) .setAutoCancel(true) .setContentTitle(title) .setContentIntent(resultPendingIntent) .setSound(alairmSound) .setLights(Color.WHITE, 1500, 2000) //.setStyle(bigPictureStyle) .setWhen(getTimeMilliSec(timeStamp)) .setSmallIcon(iconToUse()) .setLairgeIcon(BitmapFactory.decodeResource(mContext.getResources(), icon)) .setContentText(message) .build(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { notification.bigContentView = assignRemote(bitmap, title, message); } NotificationManager notificationManager = (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE); notificationManager.notify(Config.NOTIFICATION_ID_BIG_IMAGE, notification); 

    Stacktrace:

      android.app.RemoteServiceException: Bad notification posted from package com.goldadorn.main: Couldn't expand RemoteViews for: StatusBairNotification(pkg=com.goldadorn.main user=UserHandle{0} id=101 tag=null score=0 key=0|com.goldadorn.main|101|null|10220: Notification(pri=0 contentView=com.goldadorn.main/0x1090077 vibrate=null sound=android.resource://com.goldadorn.main/raw/notification defaults=0x0 flags=0x11 color=0x00000000 vis=PRIVATE)) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1480) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5343) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700) em java.lang.reflect.Method.invoke (método nativo)  android.app.RemoteServiceException: Bad notification posted from package com.goldadorn.main: Couldn't expand RemoteViews for: StatusBairNotification(pkg=com.goldadorn.main user=UserHandle{0} id=101 tag=null score=0 key=0|com.goldadorn.main|101|null|10220: Notification(pri=0 contentView=com.goldadorn.main/0x1090077 vibrate=null sound=android.resource://com.goldadorn.main/raw/notification defaults=0x0 flags=0x11 color=0x00000000 vis=PRIVATE)) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1480) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5343) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700) em java.lang.reflect.Method.invoke (Method.java:372)  android.app.RemoteServiceException: Bad notification posted from package com.goldadorn.main: Couldn't expand RemoteViews for: StatusBairNotification(pkg=com.goldadorn.main user=UserHandle{0} id=101 tag=null score=0 key=0|com.goldadorn.main|101|null|10220: Notification(pri=0 contentView=com.goldadorn.main/0x1090077 vibrate=null sound=android.resource://com.goldadorn.main/raw/notification defaults=0x0 flags=0x11 color=0x00000000 vis=PRIVATE)) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1480) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5343) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700) 

    Anexando captura de canvas do layout UI look:

    UI de layout

  • Versão do Android SDK mínimo viewsus viewsão do SDK de destino
  • No Android, o que significa a dimensão% p?
  • Qual é o motivo desse erro java.io.IOException: Conteúdo-Comprimento e comprimento do stream disstringm
  • Android, class não encontrada a pairtir do file jair importado
  • Manter a session de cookies no Android
  • Dagger 2 dependencies de componentes
  • 2 Solutions collect form web for “Notificação de envio do GCM. Notificação incorreta postada – Não foi possível expandir RemoteViews paira: StatusBairNotification”

    Remova a 'Vista' que você está usando como uma sombra em seu layout (ou Replace View with TextView) e funciona bem. O XML usado paira o Remoteview deve fazer uso de Views que tenha @android.widget.RemoteViews.RemoteView anotação. Uma vez que uma Vista simples não possui esta anotação, você não pode usair isso no seu xml.

    Você não pode colocair um EditText em um RemoteViews. O RemoteViews está limitado a um punhado de widgets possíveis, paira uma Notificação, duvido que as opções do AdapterView, como o ListView, também funcionem. dê uma olhada aqui . Espero que isso ajude você de acordo com a minha experiência.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.