android - Ungültige Benachrichtigung gesendet - RemoteViews konnte nicht erweitert werden für: StatusBarNotification
Ich versuche, eine Bekanntmachung mit benutzerdefinierten anzeigen in der Infobereich von einem IntentService, und um die "Konnte nicht expant RemoteView' - Fehler.
Hier ist, was ich Tue, in onCreate():
mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
icon = R.drawable.icon;
tickerText = "data upload in progress";
contentView = new RemoteViews(getApplicationContext().getPackageName(), R.layout.notiflayout);
contentView.setImageViewResource(R.id.image, R.drawable.icon);
contentView.setTextViewText(R.id.text, "Hello");
contentView.setProgressBar(R.id.progressBar, 100, 10, false);
whatNext = PendingIntent.getActivity(getApplicationContext(), 0, new Intent(getApplicationContext(), starterActivity.class), 0);
notification = new Notification(icon, tickerText, System.currentTimeMillis());
notification.contentView = contentView;
notification.contentIntent = whatNext;
Ich bin Aufruf von notify() aus OnHandleIntent(), und Stornierung von Meldungen in OnDestroy().
Habe ich verifiziert, dass dieser code funktioniert in eine eigenständige app, die nicht über einen IntentService. Dies zu tun, in einem IntentService ist irgendwie Mühe geben.
Könnte mir bitte jemand erklären was ich falsch mache?
Dank!
InformationsquelleAutor der Frage Chaitanya | 2011-06-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gut der Fehler wurde durch die Ereignisse ResourceNotFound Ausnahme. Ich war immer das 'couldn' T aufblasen anzeigen für notification", message.
Hielt ich Graben, und nach der Beratung hier behoben mein problem. Ich umbenannt, drawable-mdpi, drawable.
UND, nachdem Sie sicher, dass der code hat funktioniert, ich änderte den Namen des Ordners zurück, drawable-mdpi. Funktioniert alles noch, so dass ich glaube, dass ein "Clean Project" gefolgt von der Build müsste das problem behoben.
Hoffe, das hilft.
InformationsquelleAutor der Antwort Chaitanya
Für mich, das problem war, dass ich die Einstellung einer bestimmten Höhe, die für die root-layout, in der benutzerdefinierte Meldung anzeigen von xml-Datei.
Sobald ich geändert:
zu
in der root-layout Benachrichtigung anzeigen, das problem war gelöst.
Werfen Sie auch einen Blick auf dieses Beispiel zu sehen, ein einfaches Beispiel für die Verwendung von benutzerdefinierten layout für Benachrichtigungen.
InformationsquelleAutor der Antwort Iman Akbari
unbekannten Grund dürfen Sie nicht Referenz-Maß in der root-Ansicht der benutzerdefinierten remote-Ansicht! so haben Sie zu codieren es wie
android:layout_height="64dp"
aber wenn Sie verwendet werdenandroid:layout_height="@dimen/notification_height_that_64"
es wird IhnenBad notification posted - Couldn't expand RemoteViews for: StatusBarNotification
. ich hoffe das hilft 🙂InformationsquelleAutor der Antwort M_AWADI
Für mich das problem war, dass ein
View
Element in der benutzerdefinierten layout für die benutzerdefinierte Benachrichtigung. Entfernen derView
Element aus dem layout das problem der Schlechten Meldung Gepostet.Hier ein Liste der layout-Elementedie verwendet werden können, wenn Sie möchten, erstellen Sie eine benutzerdefinierte Benachrichtigung mit
RemoteView
.Weder Reinigung Projekt noch die Einstellung der
layout_height
alsmatch_parent
für mich gearbeitet.InformationsquelleAutor der Antwort Reaz Murshed
In meinem Fall die Ausnahme verursacht wurde, durch eine regelmäßige
View
in meine benutzerdefinierte Benachrichtigung layout. Grundsätzlich, es ist, weil Sie erlaubt sind zu verwenden, nur bestimmte widgets wie TextView, Bildansicht und so weiter.InformationsquelleAutor der Antwort Nikolai
In meinem Fall, ich war in der Lage diesen Fehler zu beheben, durch die Reduzierung der icon-Größe, die ich war in
.setSmallIcon();
InformationsquelleAutor der Antwort Ghanendra
Ich habe den gleichen Fehler, aber das problem für mich war die Option " layout. Ich geändert es zu
Relative Layout
zu beheben das problem.InformationsquelleAutor der Antwort Codebreak
Ich hatte das gleiche problem. In meinem Fall:
Grund -> die, die ich für den generator.setAction(R. drawable.Symbol,...) - Funktion eine vectordrawable und ich versuchte auch zu aktivieren, Sie von der support-lib, aber nichts funktionierte. In den letzten Android-Systeme, die ich nicht sehen, action-icons, in der anderen gibt es diesen Fehler.
Lösung -> ich habe nicht nichts finden, die einzige Lösung für mich ist zu vermeiden .xml-Dateien für den drawables und zu verwenden .png-Dateien in allen Verzeichnissen hdpi mdpi ldpi..
InformationsquelleAutor der Antwort GabrieleG
Seien Sie vorsichtig bei der Verwendung von Vektor-drawables. Auf pre-Lollipop-Geräte-Einstellung ein Symbol durch
NotificationCompat.Builder
Methoden, wiesetSmallIcon
wird dieser Absturz verursachen. Erhalten Sie gleich Abstürzen, wenn Sie eine Vector-drawables in Ihre benutzerdefinierte Ansicht.InformationsquelleAutor der Antwort a.ch.
In der Regel, wird dieser Fehler bedeutet, dass Ihr contentView Fehler,überprüfen Sie es !
vielleicht solltest du besser ersetzen Sie Ihre contentView mit einem layout mit einer TextView nur.Ok,es laufen,hoffe, für Sie zu helfen.
InformationsquelleAutor der Antwort Guu