2016-03-29 7 views
0

Ich brauche im aktuellen Zustand App zu öffnen, ohne neue Instanz meiner Haupt AcitivityWie im aktuellen Zustand meine Anwendung zu öffnen, von der Anmeldung

Hier ist mein Code

Intent intent = new Intent(baseActivity, MainActivity.class); 
    intent.putExtra("FROM_NOTIFICATION", true); 
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_CLEAR_TASK); 
    PendingIntent pendingIntent = PendingIntent.getActivity(baseActivity, 0 /* Request code */, intent, 
      PendingIntent.FLAG_ONE_SHOT); 

und

NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(baseActivity) 
      .setSmallIcon(getNotificationIcon()).setLargeIcon(BitmapFactory.decodeResource(baseActivity.getResources(), R.drawable.ic_launcher)) 
      .setContentTitle(baseActivity.getResources().getString(R.string.app_name)) 
      .setContentText(message) 
      .setOngoing(true) 
      .setContentIntent(pendingIntent); 
    notificationManager.notify(0 /* ID of notification */, notificationBuilder.build()); 

Wie kann ich das tun? Oder gibt es einen anderen Weg?

+0

Was meinst du mit "ohne irgendeine neue Instanz meiner Hauptaktivität"? Wo ist die alte Instanz? Du meinst es sollte nicht die 'alte' überschreiben, wenn du schon in der App bist ..? – Vucko

+0

@Vucko Ja. Ist es möglich? – kadik

+0

Ja, es ist, ich bin nicht neben meinem Laptop im Moment zu überprüfen, was ich benutze, aber ich denke, es war Hinzufügen von 'android: noHistory =" true "' in Ihrem 'AndroidManifest.xml' in der' 'das du willst. Wenn das nicht funktioniert, muss ich in etwa 4 Stunden zu dir zurückkommen: D – Vucko

Antwort

0

Versuchen Sie, die Absicht Einstellung Flagge wie unten ..

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); 

statt

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_CLEAR_TASK); 

in Ihrem Code.

Hoffe das hilft dir. Lassen Sie mich für Fragen wissen.