Tamaño de icono de la barra de estado de Android – Uso de Cordova / Phonegap Push Plugin

Estoy desarrollando una aplicación para Android usando Ionic (Cordova + AngularJS). Con él utilizo el Push Plugin ( https://github.com/phonegap-build/PushPlugin )

En mi carpeta de recursos tengo 6 iconos de aplicación diferentes especificados, de ldpi a xxxhdpi

 <icon src="resources/android/icon/drawable-ldpi-icon.png" density="ldpi"/> <icon src="resources/android/icon/drawable-mdpi-icon.png" density="mdpi"/> <icon src="resources/android/icon/drawable-hdpi-icon.png" density="hdpi"/> <icon src="resources/android/icon/drawable-xhdpi-icon.png" density="xhdpi"/> <icon src="resources/android/icon/drawable-xxhdpi-icon.png" density="xxhdpi"/> <icon src="resources/android/icon/drawable-xxxhdpi-icon.png" density="xxxhdpi"/> 

Ahora, después de construir esto, mi estructura de carpetas de recursos finales se parece a esto:

 android/res/drawable-ldpi/icon.png android/res/drawable-mdpi/icon.png 

y así…

Ahora esto funciona perfectamente bien para el icono de la aplicación en todos los dispositivos. Pero si recibo una notificación de empuje, el icono de la aplicación que aparece en la barra de estado es demasiado grande, por lo que sólo se muestra el centro del icono (sólo para los primeros segundos, parece que hay una recarga de la notificación después de eso Abajo de la barra de estado por ejemplo) se muestra correctamente).

Después de un poco de investigación encontré que los iconos que proporcioné son correctos para los iconos generales de la aplicación, pero los iconos para la barra de estado tienen que estar en otra dimensión como encontré aquí: La barra de estado de Android espera iconos de tamaño 25x25dp mientras que las directrices recomiendan 32x32dp . ¿Quién está equivocado? (Segunda respuesta)

Por ejemplo, con mi Samsung s5 i cambió mi icono xxhdpi de 144 * 144px para el mismo icono en tamaño 72 * 72px y funciona. El icono ya no está cortado.


Ahora a mi pregunta: ¿Cómo tengo que configurar este "secundario" iconos que utilizo para las notificaciones sólo en mi carpeta de recursos sin sobrescribir los originales?

Usted no necesita ser tan estricto sobre el tamaño de la imagen. Coloque dos iconos en la carpeta platform / android / res / drawable. Uno para mostrar en la barra de navegación en lollipop (ej .: small_icon.png), tiene que ser blanco y sin fondo. Y otro para las versiones android más antiguas (ej .: large_icon.png).

Abra el archivo de configuración PushPlugin ubicado en:

 platforms/android/src/com/plugin/gcm/GCMIntentService.java 

Establezca la ruta de acceso de iconos en el objeto NotificationCompat.Builder:

 .setSmallIcon(com.domain.appName.R.drawable.small_icon) .setLargeIcon(largeIcon) 

El icono grande debe ser un mapa de bits, así que defina antes de eso:

 import android.graphics.Bitmap; import android.graphics.BitmapFactory; Bitmap largeIcon = BitmapFactory.decodeResource(getResources(), com.domain.appName.R.drawable.large_icon); 

Espero que te ayude.

  • Android, notificación Push mediante parse.com, inicia automáticamente la aplicación
  • Appcelerator Titanium LocalNotification para Android
  • ¿Está com.google.android.c2dm.intent.RECEIVE todavía en uso?
  • La aplicación se bloquea si la aplicación se cierra mediante el servicio Push: parse.com
  • Activación inteligente "androide" desde una notificación push
  • Enviar notificación a un tema específico en Firebase en Java
  • Analizar notificaciones push en Android
  • FCM: onMessageReceived no se llama, la notificación no llegó incluso después de enviar msg a fcm?
  • Nuevo error de origen desconocido del registro de la API de GCM
  • Notificación de la mensajería en la nube de Firebase Vibración
  • GCM BroadcastReceiver setResultCode uso
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.