Android-Display eine Benachrichtigung in der Statusleiste, ohne eine erweiterbare anzeigen
Ich brauche Hilfe, etwas zu tun.
Ich versuche zum anzeigen einer Benachrichtigung in der android Statusleiste.
Wird es den Benutzer zu informieren, dass eine Synchronisierung mit dem server ist in Bearbeitung.
Nun, ich verwenden Sie diesen code, und es funktioniert gut :
NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
.setSmallIcon(android.R.drawable.stat_notify_sync).setWhen(System.currentTimeMillis())
.setAutoCancel(false).setOngoing(true);
NotificationManager nm = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notif = builder.getNotification();
nm.notify(1, notif);
Das einzige problem ist, dass ein view wird erzeugt, wenn der Benutzer erweitern Sie die Anzeige der Statusleiste. Was ich tun will ist nur die Anzeige ein kleines Symbol oben in der Statusleiste, ohne die contentview.
Weiß wer, wie zu tun ?
Vielen Dank im Voraus!
- Ich sah mehrere Antwort von CommonsWare, die sagen, dass es nicht möglich ist, aber ich habe auch gesehen in mehreren app (zB Yahoo Mail), die machen es
InformationsquelleAutor nbe_42 | 2013-04-09
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist dies nicht möglich.
Das Grundprinzip ist dies: wenn der Benutzer sieht in der status bar und sieht ein Symbol, Sie sollten die Möglichkeit haben, herauszufinden, was das Symbol bedeutet. Daher muss es eine Zeile in der notification panel entsprechend jedem Symbol.
Schlage ich vor, erstellen einer Meldung, die erklärt, wie Sie getan haben, in Ihrer Frage, dass auch eine Synchronisation durchgeführt wird; dies ist eine großartige Gelegenheit, um anzugeben, welche app ist derzeit die Synchronisierung (also wenn es irgendeine Art von problem oder die Synchronisierung dauert eine Ewigkeit, die der Benutzer kennt die app die Aufmerksamkeit braucht).
Können Sie diese Methode verwenden, um zu zeigen, Benachrichtigungssymbol auf der Statusleiste
java.lang.IllegalArgumentException: contentView required: pkg=com.test.app.notification id=1 notification=Notification(pri=0 contentView=null vibrate=null sound=null defaults=0x0 flags=0x0 kind=[null])
Gut, das ist möglich für einen InputMethodService, verwenden Sie einfach showStatusIcon(resource_name).
Aber ich denke, das ist nicht eine gute Idee für alles, außer den input-Dienstleistungen.
erstellen die Meldung:
Erstellen Ausstehende Objekt:
Schließlich zeigen Sie die Benachrichtigungen an von Benutzer: