Ich möchte einen Fortschrittsbalken in der Benachrichtigungsleiste setzen. Die Idee ist, den Fortschrittsbalken anzuzeigen, während das Programm eine Datei auf einen Server hochlädt. Alles andere ist in Ordnung, aber ich kann nicht herausfinden, wie der Fortschrittsbalken in der Benachrichtigung aktualisiert wird. Kennt jemand ein Spielmuster? Ich meine, wo ich den Fortschrittsbalken aktualisieren sollte, in einem Dienst oder einer Aktivität und so.Aktualisieren Fortschrittsbalken in der Benachrichtigungsleiste
Antwort
Ich weiß nicht, was Ihr Code wie folgt aussieht, so dass ich weiß nicht, was Sie ändern müssen, haben buti einige durch die Dokumentation zu suchen. Ich habe einige Sachen auf Notifications, ProgressBars und RemoteViews gefunden.
Insbesondere in RemoveView können Sie die Fortschrittsanzeige aktualisieren. So einige der Beispiel-Code kombiniert in jeder Verbindung, bekomme ich so etwas wie dieses:
public class MyActivity extends Activity {
private static final int PROGRESS = 0x1;
private static final int MAX_PROGRESS = 100;
private int mProgressStatus = 0;
private Handler mHandler = new Handler();
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
//define Notification
//...
RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.custom_notification_layout);
contentView.setProgressBar(R.id.progress_bar, MAX_PROGRESS, mProgressStatus, false);
notification.contentView = contentView;
// Start file upload in a background thread
new Thread(new Runnable() {
public void run() {
while (mProgressStatus < MAX_PROGRESS) {
mProgressStatus = doWork();
// Update the progress bar
mHandler.post(new Runnable() {
public void run() {
contentView.setProgressBar(R.id.progress_bar, MAX_PROGRESS, mProgressStatus, false);
}
});
}
}
}).start();
}
}
muss eine Fortschrittsleiste in Ihrem benutzerdefinierten XML-Layout definiert sein? Oder wird RemoteViews.setProgressBar() dafür sorgen. Der Grund, warum ich frage, ist, weil http://developer.android.com/reference/android/widget/RemoteViews.html#setProgressBar(int, int, int, boolean) sie sagen, um "Die ID der Ansicht, deren Text sich ändern sollte" . " – Pzanno
@Pzanno - Ich fragte mich genau das gleiche (also die +1). Ich habe festgestellt, dass Sie Ihren eigenen Fortschrittsbalken in Ihrem benutzerdefinierten XML-Layout definieren müssen. – ArtOfWarfare
großes Beispiel ... ich benutze auch Fortschrittsbalken in meiner custome Ansicht, aber ... es hängt mein System Ich weiß nicht, warum ... alles läuft glatt mit Standardbenachrichtigung Fortschrittsbalken –
Sie können benutzerdefinierte Ansichten in Benachrichtigung verwenden:
https://developer.android.com/guide/topics/ui/notifiers/notifications.html#CustomExpandedView
Es stellt sich heraus, dass diese Antwort die einzige ist, die für mich funktionierte, aber es gibt so eine enorme Menge an Informationen zu lesen, die Sie nicht wirklich können fassen Sie alles in einer knappen Antwort zusammen. Der Link ist zur offiziellen Dokumentation, wenn sie sich ändert, aktualisieren Sie einfach den Link. –
Um eine ProgressBar zu entfernen Remote den folgenden Code verwenden: -
remoteViews.setViewVisibility(R.id.progressBar, View.INVISIBLE);
Sie auch View.GONE
verwenden können, aber das macht Android, um leeren Raum zu füllen.
- 1. Fortschrittsbalken in der Benachrichtigungsleiste beim Hochladen eines Bildes?
- 2. Benachrichtigungsleiste wird beim Aktualisieren entfernt
- 3. aktualisieren Fortschrittsbalken während Dateistruktur
- 4. Android: Fortschrittsbalken über CountDownTimer aktualisieren
- 5. Zeige kleines Icon in der Benachrichtigungsleiste, aber in der Benachrichtigungsleiste ausblenden
- 6. Animation in der Benachrichtigungsleiste Benutzerdefinierte Ansicht
- 7. Problem mit der Benachrichtigungsleiste in Vollbild-App
- 8. Benachrichtigungsleiste - Uhrweite?
- 9. Aktualisieren der Fortschrittsleiste im Benachrichtigungsbereich
- 10. QWidget :: Repaint: Rekursives Repaint erkannt beim Aktualisieren der Fortschrittsbalken
- 11. Wie kann ich den Fortschrittsbalken in einem GridView korrekt aktualisieren?
- 12. Wie Fortschrittsbalken in cocos2d zu machen und korrekt zu aktualisieren?
- 13. Alle Benachrichtigungen aus der Benachrichtigungsleiste entfernen
- 14. Android: Benachrichtigung aus der Benachrichtigungsleiste entfernen
- 15. Fortschrittsbalken, der während des Betriebs
- 16. Aktualisieren von Fortschrittsbalken, die in xml gemacht wurden
- 17. Stackoverflow-Stil Benachrichtigungsleiste
- 18. Die Benachrichtigungsleiste verschwindet, nachdem der Download abgeschlossen ist.
- 19. Fortschrittsbalken auf der Webseite
- 20. Android Fortschrittsbalken indeterminatedrawable nicht in den Fortschrittsbalken
- 21. NullPointerException, nachdem auf Benachrichtigung in der Benachrichtigungsleiste geklickt wurde (PendingIntent)
- 22. Android: Benachrichtigungen werden nicht in der Benachrichtigungsleiste angezeigt
- 23. entfernen Benachrichtigungsleiste Schatten in Android-App
- 24. Benachrichtigungsleiste Text? mit codierter UI?
- 25. Fortschrittsbalken während der Verzögerung anzeigen?
- 26. android Benachrichtigungsleiste show/hide toggle
- 27. Fortschrittsbalken mit Bild in der Mitte
- 28. JavaFX Update Fortschrittsbalken in der Tabellenansicht von Task
- 29. Zurücksetzen der semantischen UI-Fortschrittsbalken
- 30. Create Fortschrittsbalken in Liferay
Ich weiß nicht, ob es möglich ist. Hast du es mit einem animierten Gif versucht? – Macarse
Noch nicht, aber ich muss in Echtzeit den Upload-Fortschritt zeigen, also muss ich irgendwie den Fortschrittsbalken aktualisieren. Ich denke, dass die Verwendung eines animierten Gifs gültig ist, wenn Sie nur eine "Lade" -Nachricht anzeigen. Wie auch immer, danke für deine Zeit. – ahmontero
ich bin sicher, es ist möglich. Market App zeigt eine Fortschrittsleiste beim Herunterladen und Installieren von Apps in der Benachrichtigungsleiste ... – seanmonstar