Meine App spielt Musik ab. Wenn Benutzer den Benachrichtigungsbildschirm öffnen, indem sie vom oberen Bildschirmrand (oder im Allgemeinen vom unteren rechten Bildschirmrand auf Tablets) wischen, möchte ich ihnen eine Schaltfläche zum Stoppen der aktuell wiedergegebenen Musik und zum erneuten Starten anzeigen Sie wollen.
Ich habe nicht vor, ein Widget auf dem Startbildschirm des Benutzers zu platzieren, sondern nur in Benachrichtigungen. Wie kann ich das machen?
android
button
widget
notifications
fränkisch
quelle
quelle
Antworten:
Sie können eine Absicht für die Aktion erstellen (in diesem Fall beenden Sie die Wiedergabe) und diese als Aktionsschaltfläche zu Ihrer Benachrichtigung hinzufügen.
Weitere Informationen finden Sie in der Android-Dokumentation .
quelle
Aktionsschaltfläche zur Benachrichtigung hinzufügen
Weitere Informationen finden Sie unter https://developer.android.com/training/notify-user/build-notification.html
quelle
Ich werde versuchen, eine Lösung bereitzustellen, die ich verwendet habe, und die meisten Musik-Player verwenden dieselbe Technik, um die Player-Steuerelemente in der Benachrichtigungsleiste anzuzeigen.
Ich verwende einen Dienst, mit dem Media Player und alle seine Steuerelemente verwaltet werden. Aktivität Die Benutzersteuerung interagiert mit dem Dienst, indem sie beispielsweise Absichten an den Dienst sendet
Um Absichten zu empfangen und Aktionen in der Serviceklasse auszuführen, verwende ich den folgenden Code in der onStartCommand-Servicemethode
Nun zur genauen Beantwortung Ihrer Frage, um eine Benachrichtigung mit den Spielsteuerelementen anzuzeigen. Sie können die folgenden Methoden aufrufen, um Benachrichtigungen mit Steuerelementen anzuzeigen.
} Hoffe das hilft dir wirklich. Und Sie werden in der Lage sein, das zu erreichen, was Sie wollen. Viel Spaß beim Codieren :)
quelle
complete
Antwortfit
auf den Benutzerfall zu sein.Bitte beachten Sie dies für weitere Details. Klicken Sie hier
quelle
Ich denke, dass Sie neben der
Ankit Gupta
Antwort auch MediaSession (API> 21) verwenden können, um die native mediaController- Ansicht hinzuzufügen :Quelle: Tutorial
Sie können auch eine benutzerdefinierte Ansicht erstellen und diese im Benachrichtigungsbereich anzeigen. Die erste Antwort hier ist großartig.
quelle
getestet, Arbeitscode mit Android Pie. Diese gehören alle zur selben Serviceklasse.
Benachrichtigung anzeigen:
Hilfsfunktion:
So handhaben Sie die Aktionen:
Sie müssen auch Ihr Manifest aktualisieren:
quelle
Sie können die Schaltfläche wie unten hinzufügen und Aktionen auf dieser Schaltfläche ausführen, die ich auch für mich wie unten ausgeführt habe. Bitte überprüfen Sie dies.
// morePendingIntent (mach deine Sachen)
quelle
Ich weiß nicht, ob das der richtige Weg ist oder nicht, aber es funktioniert.
BroadCastReceiver
Klasse, um die Daten zu empfangen, wenn die Taste gedrückt wird.Wenn Sie nun bestimmte Dinge tun möchten, während die Taste gedrückt wird, können Sie dies in der
onReceive()
Methode in derMyBroadCastReceiver
Klasse tun .quelle