2016-07-20 14 views
0

Ich bin eine Aktivität, Empfänger, als Content-Intent für eine Benachrichtigung festlegen.Push-Benachrichtigung Klick mit TaskStackBuilder

Intent clickIntent = new Intent(context, Receiver.class); 
      mBuilder.setContentIntent(PendingIntent.getActivity(context, 0, clickIntent, PendingIntent.FLAG_UPDATE_CURRENT)); 

Innen Receiver Aktivität Ich fange an Aktivitäten, die TaskStackBuilder in der folgenden Art und Weise verwendet werden sollen, geöffnet.

Intent intent = new Intent(this, Class.forName(className)); 
     intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     TaskStackBuilder.create(this).addParentStack(Class.forName(className)).addNextIntent(intent).startActivities(); 

Wenn die App im Hintergrund ist und eine Benachrichtigung klicken geschieht, nimmt es das Parent. Vor allem, wenn das Gerät in den Leerlauf geht und zurückkommt. Irgendeine Hilfe? Ich knacke mir dabei den Kopf.

Antwort

0

Für eine Android-App sollten Sie auch android:launchMode in Ihrer androidManifest.xml-Datei deklarieren.

Wie im Android documentation diskutiert:

Eine Anleitung, wie sollte die Aktivität gestartet werden. Es gibt vier Modi, die in Verbindung mit Aktivitätsflags (FLAG_ACTIVITY_ * -Konstanten) in Intent-Objekten funktionieren, um zu bestimmen, was geschehen soll, wenn die Aktivität aufgerufen wird, um eine Absicht zu behandeln.

Sie sind:

  • "Standard"
  • "singleTop"
  • "singleTask"
  • "SingleInstance"

Der Standardmodus "Standard" ist.

Lösung gegeben in diesem SO Post - resuming an activity from a notification könnte auch helfen.