ottengo la seguente eccezione quando uso un disegnabile vettore per impostare l'icona piccola per una notifica:notifica genera un errore quando si utilizza vettore drawable
android.app.RemoteServiceException: notifica Bad inviato dal com.qbes pacchetto .xxx: Impossibile creare l'icona: StatusBarIcon (pkg = com.qbes.xxxuser = 0 id = 0x7f020082 livello = 0 visibile = true num = 0)
Ecco il mio codice:
mNotificationBuilder = new android.support.v4.app.NotificationCompat.Builder(this)
.setDefaults(android.support.v4.app.NotificationCompat.DEFAULT_LIGHTS)
.setSound(null)
.setSmallIcon(R.drawable.logo_white)
.setColor(getResources().getColor(R.color.colorPrimary))
.setCategory(android.support.v4.app.NotificationCompat.CATEGORY_PROGRESS)
.setContentTitle("Trip in Progress...")
.setAutoCancel(false)
.setProgress(0, 0, progress)
.setOngoing(true)
.setPriority(android.support.v4.app.NotificationCompat.PRIORITY_MAX)
.setOnlyAlertOnce(true)
.setContentIntent(pendingIntent);
mNotificationBuilder.setContentText(body);
mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
Notification note = mNotificationBuilder.build();
mNotificationManager.notify(Constants.NOTIFICATION_ID_Dash, note);
e le mie build.gradle
(solo parti rilevanti):
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.qbes.xxx"
minSdkVersion 16
targetSdkVersion 22
versionCode 720
versionName "0.7.20"
vectorDrawables.useSupportLibrary = true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.2.1'
compile 'com.android.support:design:23.2.1'
}
PS: Il codice funziona bene quando uso un disegnabile immagine png o jpg, ma si rompe quando si utilizza un disegnabile vettore.
Ho cercato un giorno intero ma non sono riuscito a trovare nulla che funzionasse per me. Qualche idea.
Quale versione di Android stai testando? Si sta utilizzando il backport della libreria di supporto in generale, ma non penso che funzioni per una 'Notifica ', poiché la piattaforma è quella che sta cercando di utilizzare la risorsa. – CommonsWare
Sto testando sull'API 19. Controllerò se il problema esiste in altre versioni. – ShahiM
Ive ha inserito il controllo per la versione sdk ed evita di chiamare setSmallIcon per le versioni precedenti alla versione api 21 Kitkat – LPVOID