2010-09-08 13 views

Antwort

14

Rufen Sie setLatestEventInfo() auf dem Objekt Notification an und stellen Sie eine PendingIntent bereit, die Ihre Aktivität startet, wenn sie auf Ihren Eintrag in der Benachrichtigungsleiste tippen. Hier ist a sample project demonstriert dies.

+0

geklickt wird Ich kann Aktivität starten, wenn die Benachrichtigung über Benachrichtigungsleiste geklickt. Aber es sieht so aus, als ob es eine neue Aktivität erstellt, obwohl die aktuelle Aktivität jetzt läuft. Ich habe versucht, Flag in 'Intent' zu überführen, wenn 'PendingIntent' aufgerufen wurde, aber nicht funktioniert. Also, wie nahe aktuelle Aktivität vor dem Erstellen neuer Aktivität beim Klicken auf Benachrichtigung? –

+0

@HuyTower: 'setFlags (Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK)' auf Ihrem 'Intent' sollte funktionieren. – CommonsWare

+0

@CommonsWare: Funktioniert perfekt für mich! –

11

Unter der Annahme, dass notif ist Ihr Notification Objekt:

Intent notificationIntent = new Intent(this.getApplicationContext(), ActivityToStart.class); 
PendingIntent contentIntent = PendingIntent.getActivity(this.getApplicationContext(), 0, notificationIntent, 0); 
notif.contentIntent = contentIntent; 
+1

Ich kann die Aktivität starten, wenn ich auf die Benachrichtigung in der Benachrichtigungsleiste klicke. Aber es sieht so aus, als ob es eine neue Aktivität erstellt, obwohl die aktuelle Aktivität jetzt läuft. Ich habe versucht, Flag in 'Intent' zu überführen, wenn 'PendingIntent' aufgerufen wurde, aber nicht funktioniert. Also, wie nahe aktuelle Aktivität vor dem Erstellen neuer Aktivität beim Klicken auf Benachrichtigung? –

1

ist die Code-Aktivität zu rufen, wenn Benachrichtigung

Notification notif = new Notification(R.drawable.ic_launcher,"List of Contacts...", System.currentTimeMillis()); 
Intent notificationIntent = new Intent(context,AllContacts.class); 
PendingIntent contentIntent = PendingIntent.getActivity(context, 0,   notificationIntent, 0); 
notif.setLatestEventInfo(context, from, message, contentIntent); 
nm.notify(1, notif); 
+1

Ich kann die Aktivität starten, wenn ich auf die Benachrichtigung in der Benachrichtigungsleiste klicke. Aber es sieht so aus, als ob es eine neue Aktivität erstellt, obwohl die aktuelle Aktivität jetzt läuft. Ich habe versucht, Flag in 'Intent' zu überführen, wenn 'PendingIntent' aufgerufen wurde, aber nicht funktioniert. Also, wie nahe aktuelle Aktivität vor dem Erstellen neuer Aktivität beim Klicken auf Benachrichtigung? –

Verwandte Themen