2010-12-17 11 views
6

Ich entwickle eine Android-App, die die meiste Zeit als Dienst ausgeführt wird. Der Benutzer könnte es über die Statusleiste steuern - einschließlich der Möglichkeit, den Dienst vollständig zu stoppen.Schaltflächen hinzufügen Über der Registerkarte Benachrichtigungen in der Statusleiste

Obwohl ich in der Lage bin, eine benutzerdefinierte Ansicht zu machen und Schaltflächen im Bereich Benachrichtigungen [siehe Abbildung 1], würde ich gerne in der Lage sein, es über den Namen "Android"/Service Provider zu setzen. Ähnlich wie bei der Music Player App [siehe Abbildung 2]. Auf diese Weise bleibt das Steuerfeld meiner App auch dann aktiv, wenn der Benutzer seine Benachrichtigungen löscht, solange der Dienst ausgeführt wird.

Was ist der beste Weg, das zu tun, bitte?

Figures 1 and 2

Original Image Link

+0

Ich habe einen Weg gefunden, ein ONGOING_EVENT Flag über notification.flags = notification.flags | hinzuzufügen notification.FLAG_ONGOING_EVENT; Aber ich frage mich immer noch, wie löst die Media Player App dieses Problem ohne die laufende Flagge? – DJiK

+0

Ist das ein Standard-Musik-Player von Android, sprichst du? – Shardul

+0

Der Musikplayer in Abbildung 2 kam mit dem ROM, den ich verwende; also ja. Es sieht so aus, als ob der Standard-MP3-Player, der auf dem Emulator kommt, auch das FLAG_ONGOING_EVENT verwendet (siehe: http://i.imgur.com/mGJnN.png). Ich werde wahrscheinlich dabei bleiben ... – DJiK

Antwort

1

Ihr ROM die Ongoing Header versteckt hat; Sowohl der Musik-Player als auch das Hardware-Kontroll-Widget verwenden die ONGOING_EVENT-Flagge, um dort zu bleiben, wo sie sind (jemand korrigiert mich, wenn ich falsch liege). Bestätige dies, indem du deine App auf dein gepatchtes Telefon lädst - die documentation nennt speziell Namen, z. Musik-Player (und zu anderen Zeiten läuft Ihr Prozess noch im Hintergrund) zu Zeiten, wenn Sie dieses Flag verwenden sollten.

Vielleicht möchten Sie darauf hinweisen, dass die gleiche Seite das Flag FLAG_NO_CLEAR empfiehlt - wenn alles, was Sie möchten, nicht gelöscht wird, wenn der Benutzer auf clear notifications klickt (dies wird für laufende Apps empfohlen).

Verwandte Themen