6

Sto sviluppando un'applicazione Android utilizzando Ionic (Cordova + AngularJS). Con esso io uso il plugin push (https://github.com/phonegap-build/PushPlugin)Dimensioni icona barra di stato Android - Utilizzo del plug-in Cordova/PhoneGap

nella mia cartella risorse Ho 6 differenti icone delle applicazioni specificate, da 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"/> 

Ora, dopo costruisco questo, la mia struttura di cartelle risorse finale sembra qualcosa in questo modo:

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

e così via ...

Ora questo funziona perfe bene per l'icona App su tutti i dispositivi. Ma se ricevo una notifica push, l'icona dell'app visualizzata nella barra di stato è troppo grande, quindi viene visualizzata solo la parte centrale dell'icona (solo per i primi secondi, sembra che ci sia una ricarica della notifica dopo quella (se io tirare giù la barra di stato, ad esempio) viene visualizzato correttamente).

Dopo un po 'di ricerca ho trovato che le icone che ho fornito sono corrette per le icone generali app, ma le icone per la barra di stato devono essere in un'altra dimensione, come ho scoperto qui: Android status bar expects icons of size 25x25dp while guidelines recommend 32x32dp. Who is wrong? (2 ° risposta)

Ad esempio, utilizzando il mio Samsung s5 ho spento l'icona xxhdpi di 144 * 144 px per la stessa icona in 72 * 72 px e funziona. l'icona non viene più tagliata.


Ora alla mia domanda: Come devo messa a punto questa immagine Icone "secondari" che uso per le notifiche solo nella mia cartella delle risorse senza sovrascrivere quelli originali?

+0

Hai provato a generare tutte le tue icone con il generatore fornito dal team ionico? http://ionicframework.com/docs/cli/icon-splashscreen.html – mrzmyr

+0

in realtà non l'ho fatto. grazie per il suggerimento, lo proverò. – lexith

+0

Non fa la differenza. L'icona è ancora rotta sulla notifica push (quando è stata ricevuta la prima volta ..) – lexith

risposta

1

Non è necessario essere così ristretti per le dimensioni dell'immagine. Inserisci due icone nella cartella piattaforma/android/res/drawable. Uno da mostrare sulla barra di navigazione su lecca lecca (es .: small_icon.png), deve essere bianco e senza sfondo. E altre versioni precedenti di Android (es .: large_icon.png).

Aprire il file di configurazione PushPlugin situato a:

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

impostare il percorso icone nell'oggetto NotificationCompat.Builder:

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

La grande icona deve essere una bitmap, in modo da definire, prima che :

import android.graphics.Bitmap; 
import android.graphics.BitmapFactory; 

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

Spero che ti aiuta.

+0

Grazie, davvero molto utile per me, ma non per questo caso. L'aggiunta di LargeIcon fa solo la differenza per me su Lollipop dopo aver tirato giù la barra di stato (per vedere i dettagli della notifica). Ora ho l'icona grande con una piccola icona (100% bianca) nella parte in basso a destra dell'icona grande.Ma il problema sulla barra di stato rimane ancora. – lexith

Problemi correlati