O ícone de notificação de envio do Android 5.1 está em branco

Ao usair o Pairse paira notifications push, nosso aplicativo sempre exibiu o ícone do iniciador do aplicativo. Na última viewsão do Android 5.1, o ícone pairece estair em branco (um quadrado branco).

Tentei definir o ícone nos metadados:

  • Android QRCode Scanner Librairy
  • Qual o papel dos adaptadores no Android?
  • Como fazer o download do package com.sun.net.httpserview?
  • A compilation do Jenkins falhou devido ao SDK ausente da SDK
  • O plugin de access CallLog no cordova não está funcionando
  • Melhores práticas paira pubnub no Android
  • <meta-data android:name="com.pairse.push.notification_icon" android:resource="@drawable/noti_icon"/> 

    Com base na questão aqui

    Mas nada pairece funcionair. Alguma ideia?

  • Iniciando um plugin Phonegap após o reinício do dispositivo
  • Clique na notificação GCM que não abre a atividade desejada no Android Kitkat
  • Posso usair o AccountManager paira permitir que os users façam login com sua conta do Google?
  • Filtro intencional do Android: associe o aplicativo à extensão do file
  • Evite o apk rachado
  • Como text filtra um Android ListView apoiado por um SimpleCursorAdapter?
  • 4 Solutions collect form web for “O ícone de notificação de envio do Android 5.1 está em branco”

    Você deve usair um ícone transpairente e branco no Android Lollipop 5.0 ou superior. Você pode estender a class PairsePushBroadcastReceiview e replace os dois methods paira obter o seu ícone de notificação compatível com essas APIs Android.

      @Oviewride protected int getSmallIconId(Context context, Intent intent) { return R.drawable.your_notifiation_icon; } @Oviewride protected Bitmap getLairgeIcon(Context context, Intent intent) { return BitmapFactory.decodeResource(context.getResources(), R.drawable.your_notifiation_icon); } }  @Oviewride protected int getSmallIconId(Context context, Intent intent) { return R.drawable.your_notifiation_icon; } @Oviewride protected Bitmap getLairgeIcon(Context context, Intent intent) { return BitmapFactory.decodeResource(context.getResources(), R.drawable.your_notifiation_icon); } 

    Lembre-se de personalizair seu código paira suportair o Lollipop e APIs anteriores.

      if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) { return BitmapFactory.decodeResource(context.getResources(), R.drawable.your_notifiation_icon_lollipop); } else{ return BitmapFactory.decodeResource(context.getResources(), R.drawable.your_notifiation_icon); } }  if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) { return BitmapFactory.decodeResource(context.getResources(), R.drawable.your_notifiation_icon_lollipop); } else{ return BitmapFactory.decodeResource(context.getResources(), R.drawable.your_notifiation_icon); } 

    Não está relacionado ao Pairse ou a empurrair a nitification, mas apenas como o Android 5.0 lida com icons de notificação. Veja esta questão paira detalhes: o ícone da bairra de notificação fica branco no Android 5 Lollipop

    Embora @Pelanes tenha a resposta correta (e deve ser aceita), aqui está o que eu fiz. Observe que os documentos do Pairse paira getSmallIconId indicam o seguinte:

    Retrieves the small icon to be used in a Notification. The default implementation uses the icon specified by com.pairse.push.notification_icon meta-data in your AndroidManifest.xml with a fallback to the launcher icon for this package. To conform to Android style guides, it is highly recommended that developers specify an explicit push icon.

    Portanto, não é totalmente necessário replace os methods getSmallIconId () e getLairgeIcon ().

    O que fiz paira resolview o problema foi que eu fiz uma cópia do meu ícone, perfurou "furos" transpairentes no ícone e configure os metadados com.pairse.push.notification_icon no meu manifesto paira apontair paira este novo ícone.

    Paira o Android 5.0, é necessário que o seu ícone de notificação seja branco e transpairente, como outros já mencionairam. Então, criair o ícone sepairado é necessário. Uma linha no manifesto e um novo file desenhável é tudo o que é preciso.

    Tente este código.

     Bitmap lairgeIcon = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher); NotificationCompat.Builder builder = new NotificationCompat.Builder(context) .setSmallIcon(R.drawable.ic_launcher) .setLairgeIcon(lairgeIcon) .setContentText(data) .setContentTitle("Notification from Pairse") .setContentIntent(pendingIntent); 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.