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
- Firebase Push Notification - Cómo mostrar mensaje multilínea en Notificación
- Android: administrar múltiples notificaciones push en el dispositivo de una aplicación
- Enviar Notificaciones push a iOS / Android en WiFi cerrado (sin conexión a Internet)
- Android Push Notification, cuando la aplicación está cerrada Tengo un estilo diferente
- Uso de GoogleApiClient desde IntentService de Notificación Push para enviar datos a Android Wear
<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?
- Enviar notificaciones push a la aplicación en una configuración limitada - fake_push_profile not found Ionic
- Parse Push - Cómo abrir automáticamente una actividad sin la acción del usuario al recibir un empujón en Android
- La aplicación Ionic / Cordova no recibe notificación push en el fondo
- Despierta Android Phone / tablet?
- BroadcastReceiver no se llama cuando la pantalla está bloqueada en Android
- Al hacer clic en la notificación no se abre la actividad mencionada
- Notificación lanza RemoteServiceException en el dispositivo de Motorola con OS 7
- Servicio de notificación de Google / Apple Push (APNS / GCM)
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.
- Cómo configurar el fondo de la barra de herramientas de contracción con el comportamiento personalizado para adaptarse a toda la pantalla
- Ventajas de inyectar el autobús de eventos de Otto en lugar de usar singleton estático