J'ai 2 activités (Activité1, Activité2) Dans chacune de ces activités, il y a un bouton qui me mène à une troisième activité (MainActivity). Dans MainActivity, je veux savoir à partir de quelle page d'activité a été appelée.
Réponses
Trop de publicités?Vous pouvez utiliser l'attribut putExtra de l'intention pour transmettre le nom de l'activité.
Activité d'appel,
Intent intent = new Intent(this, Next.class);
intent.putExtra("activity","first");
startActivity(intent);
Activité suivante,
Intent intent = getIntent();
String activity = intent.getStringExtra("activity");
Dans l'activité de chaîne, vous obtiendrez le nom de l'activité d'origine.
Utilisez putExtra () pour identifier l'activité précédente.
Intent i = new Intent(Activity1.this, MainActivity.class).putExtra("from", "activity1");
startActivity(i);
Pour vérifier l'activité dans l'activité principale,
if(getIntent().getStringExtra("from").equals("activity1")){
//From Activity 1
}else {
// Activity 2
}
ActivityManager am = (ActivityManager) this.getSystemService(Activity.ACTIVITY_SERVICE);
String packageName = am.getRunningTasks(1).get(0).topActivity.getPackageName();
String className = am.getRunningTasks(1).get(0).topActivity.getClassName();
et nous avons mis la permission:
<uses -permission="-permission" android:name="android.permission.GET_TASKS">
</uses>
Lorsque vous passez d'une activité à une autre, vous pouvez transmettre le nom de l'activité comme indiqué ci-dessous.
Intent i = new Intent(this, deliveries.class);
i.putExtra("ActivityName", "ActivityOne");
startActivity(i);
et vérifiez le nom de l'activité dans l'activité précédente
Bundle extra = getIntent().getExtras();
String activityName= Long.parseLong(extra.getSerializable("ActivityName")
toString());
Je pense que ça peut résoudre ton problème