Проверка активности начинается с какого намерения - PullRequest
0 голосов
/ 08 мая 2020

У меня 3 активности. Предположим, если Activity1 отправляет запрос намерению запустить Activity 2. Точно так же, если Activity 3 также может отправить запрос намерению запустить Activity 2. Итак, есть ли способ, с помощью которого в действии 2 мы можем узнать, что из какого запроса поступило это действие? Пожалуйста, помогите кому-нибудь.

Ответы [ 2 ]

0 голосов
/ 08 мая 2020

Предположим, у вас есть 3 действия, из которых Activity 1 и Activity 3 могут открываться Activity 2 .

Из действия 1 или 3:

Intent intent = new Intent(Activity1.this,Activity2.class);
intent.putExtra("origin","activity1"); // or activity3 if you're running it from activity3
startActivity(intent);

in Activity 2 , вы хотите определить происхождение:

in onCreate():

    Intent intent = getIntent();
    Bundle bundle = intent.getExtras();
    if(bundle!=null){
    String origin = bundle.getString("origin");
    if(origin!=null && origin.equals("activity1")){
    //from activity1
    } 
    if(origin!=null && origin.equals("activity3")){
    //from activity3
    } 
0 голосов
/ 08 мая 2020

используйте что-то вроде этого:

yourIntent.putExtra("FROM","A");
// or yourIntent.putExtra("FROM","B");
// or yourIntent.putExtra("FROM","C");
startActivty(yourIntent);
...