0
Code

créer une notification de BroadcastReceiverRetour à l 'actualité après une activité ouverte B de notification

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(G.context) 
       .setSmallIcon(R.mipmap.ic_launcher) 
       .setContentTitle(G.context.getString(R.string.app_name)) 
       .setContentText("text") 
       .setAutoCancel(true) 
       .setColor(Color.MAGENTA); 

     Intent intent = new Intent(G.context, B.class); 
     intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); 

     TaskStackBuilder taskStackBuilder = TaskStackBuilder.create(G.context); 
     taskStackBuilder.addParentStack(MainActivity.class); 
     taskStackBuilder.addNextIntent(intent); 
     PendingIntent resultPendingIntent = taskStackBuilder.getPendingIntent(0, PendingIntent.FLAG_CANCEL_CURRENT); 
     mBuilder.setContentIntent(resultPendingIntent); 
     NotificationManager mNotificationManager = (NotificationManager) G.context.getSystemService(Context.NOTIFICATION_SERVICE); 
     mNotificationManager.notify(2, mBuilder.build()); 

Répondre

0

Si vous êtes actuellement en MainActivity.java puis cliquez sur la notification et allez à B Activity le tout simplement appeler this.finish() ou onBackPressed() dans votre dos Appuyez sur la méthode de contrôle onClick(). Si vous ouvrez votre B Activity depuis n'importe où en cliquant sur une notification, appelez la méthode ci-dessous dans votre B activity.

@Override 
public void onBackPressed() { 
    Intent i = new Intent(this, MainActivity.class); 
    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    startActivity(i); 
} 

Autre façon, vous pouvez faire comme ce

Vous ne avez pas besoin quoi que ce soit. Par défaut, lorsque vous passez de l'activité A à l'activité B, Android ajoute l'activité A au backstack. Lorsque vous appuyez sur le bouton de retour de l'activité B ou que vous le finissez, il restaure automatiquement l'activité A à partir du backstack.

Si vous souhaitez terminer votre activité B par programme, appelez la méthode finish() de l'activité lorsque vous le souhaitez.

Pour plus de détails Check this

+0

Remerciez Avec cette méthode, quand j'ouvre l'activité B de l'application et de mettre le bouton clé en arrière, la nouvelle activité créée principale Ce n'est pas juste. Je pense – alipro

+0

son possible par appel simple méthode 'onBackPressed()' aussi ou 'this.finish()' aussi mais si aucune activité précédente pile est disponible alors l'application sera fermée – Shailesh

+0

Cela ne devrait pas arriver lorsque nous appelons le B actif programme C'est, vous ne devriez pas créer une instance de l'activité principale un Y at-il une autre façon? – alipro