Ich versuche, eine Benachrichtigungsaktion in meiner App hinzuzufügen, die ein Musik-Player ist. Wenn ein Stream gestartet wird, sollte eine Benachrichtigung ausgelöst werden und eine Stopp-Schaltfläche für den Stream sollte in der Benachrichtigung angezeigt werden. Die Benachrichtigung funktioniert soweit, ich habe Probleme mit der Stop-Aktion. Hier ist, wie es in den Dienst des Streams begonnen deklariert wird.Android-Benachrichtigungsaktion wird nicht ausgelöst (PendingIntent)
Intent stopIntent = new Intent(this, MusicPlayerNew.class);
stopIntent.putExtra("STOP", "STOP");
PendingIntent stopPendingIntent = PendingIntent.getActivity(this, 0,
stopIntent, PendingIntent.FLAG_UPDATE_CURRENT, null);
mBuilder.addAction(R.drawable.ic_stat_stop, "Stop", stopPendingIntent);
Jetzt im onResume() - Methode meiner Tätigkeit prüfe ich mit getIntent() getStringExtra() für die „STOP“ extra, aber die Absicht ich über getIntent() abgerufen hat keine Extras gesetzt :(
ich habe versucht, auch eine Sendung schicken zu überprüfen (i einen Rundfunkempfänger arbeiten müssen vom Dienst an der Aktivität zu kommunizieren)
Intent stopIntent2 = new Intent(MusicPlayerNew.STOP_MEDIAPLAYER);
PendingIntent stopPendingIntent2 = PendingIntent.getBroadcast(this, 0,
stopIntent2, PendingIntent.FLAG_UPDATE_CURRENT);
mBuilder.addAction(R.drawable.ic_stat_stop, "Stop", stopPendingIntent2);
Jetzt Dies funktioniert, wenn die Aktivität gerade im Vordergrund ist n der Hintergrund die Stopp-Taste tut nichts :(
EDIT: ich die BroadcastReceiver in meiner Tätigkeit als Privat Klasse
private class DataUpdateReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
..
}}
Im onResume() registrieren meine app für diesen Empfänger haben:
intentFilter = new IntentFilter(STOP_MEDIAPLAYER);
registerReceiver(dataUpdateReceiver, intentFilter);
onPause()
unregisterReceiver(dataUpdateReceiver);
Nun, wenn ich die Aufhebung der Registrierung von der onPause() - Methode entferne, wird die Übertragung empfangen, selbst wenn die App/Aktivität nicht mehr im Vordergrund ist. Aber ist das der richtige Weg? Ich habe dieses Register/Unregister-Zeug von einem Tutorial im Web ich denke ..
Ich habe das gleiche Problem auf KitKat. Ich habe zwei Aktionen, zuerst als gut, zweitens überhaupt nicht genannt. Haben Sie einen Weg gefunden, dieses Problem zu lösen? – Nik
Ok, ich habe eine Lösung gefunden. Schau meine Antwort unten. – Nik