Как всегда запускать MainActivity или HomeActivity, когда пользователь открывает активность с глубокой ссылкой и нажимает кнопку «Назад»

Как открыть MainActivity при нажатии BackPressed или при нажатии кнопки «Назад» при открытии действия с глубокой ссылкой

Предположим, у нас есть активность

www.xyz.com/abc — URL с прямой ссылкой

Когда пользователь щелкнул этот URL-адрес, ABCActivity был открыт, но при обратном нажатии приложение было закрыто, как открыть HomeActivity или MainActivity


person Shailendra Sachan    schedule 24.07.2017    source источник
comment
вы можете переопределить функцию onBackPressed()   -  person Ankur_009    schedule 24.07.2017


Ответы (3)


Вам нужно сначала запустить MainActivity, и после этого у вас есть данные, из которых вы можете проверить, какое действие вы хотите открыть.

Строковая активность=referrer.getString("TAG");

передайте намерение от MainActivity к действию, которое вы хотите открыть, теперь в стеке есть два действия, после нажатия назад откроется основное действие.

person Renuka Kapil    schedule 24.07.2017
comment
можно ли добиться этого с помощью некоторого флага намерения - person Shailendra Sachan; 24.07.2017

вам нужно проверить запуск обычной или глубокой ссылки, а в onBackPress используйте это

   @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        //...
        if (savedInstanceState == null) {
            Bundle extras = getIntent().getExtras();
            if (extras != null) {
                isStartFromDeepLink = extras.getBoolean("isStartFromDeepLink", false);
            }
        }
    }


    @Override
    public void onBackPressed() {
        if(isStartFromDeepLink){
           startActivity(new Intent(this,MainActivity.class));
        }else{
           finish()
        }
    }
person Rasoul Miri    schedule 24.07.2017

Мы можем решить проблему, используя этот код

        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value=".MainActivity"/>
person Shailendra Sachan    schedule 27.07.2017