Подтвердить что ты не робот

Android получает предыдущую активность

У меня есть 2 действия: Activity1 и Activity2. В каждом из этих действий есть кнопка, которая ведет меня к третьему действию (MainActivity). В MainActivity я хочу знать, с какой страницы была вызвана страница.

4b9b3361

Ответ 1

Вы можете использовать атрибут putExtra для Intent для передачи имени Activity.

Вызывающая активность,

Intent intent = new Intent(this, Next.class);
intent.putExtra("activity","first");
startActivity(intent);

Следующая активность,

Intent intent = getIntent();
String activity = intent.getStringExtra("activity");

Теперь в строковой активности вы получите имя, из которого произошла операция.

Ответ 2

Вы можете использовать:

public ComponentName getCallingActivity()

чтобы узнать, какая активность вызвала ваш текущий Activity.

Ответ 3

Используйте putExtra() для идентификации предыдущего действия.

Intent i = new Intent(Activity1.this, MainActivity.class).putExtra("from", "activity1");
startActivity(i);

Чтобы проверить активность в Основной деятельности,

if(getIntent().getStringExtra("from").equals("activity1")){
//From Activity 1
}else {
// Activity 2
}

Ответ 4

Когда вы переходите от одной активности к другой, вы можете передать название деятельности, как указано ниже

Intent i = new Intent(this, deliveries.class);
i.putExtra("ActivityName", "ActivityOne");
startActivity(i);

и проверьте имя активности в другом действии

Bundle extra = getIntent().getExtras();
String activityName = Long.parseLong(extra.getSerializable("ActivityName")
toString());

Я думаю, что он может решить вашу проблему

Ответ 5

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();

и мы установили разрешение:

<uses -permission="-permission" android:name="android.permission.GET_TASKS">
</uses>