Четкое намерение при переходе от действия B к действию A - PullRequest
0 голосов
/ 12 июня 2018

Я получаю намерение, когда занимаюсь основной деятельностью,

if (getIntent() != null &&
            LinkReceiver.LINK_INTENT.equals(getIntent().getAction())) {
        Uri appLinkData = getIntent().getData();
        if (appLinkData != null) {
            processIntent(appLinkData);
        }
    }

У меня есть это в методе onStart.Я использую startActivity(), чтобы перейти к another activity.Когда я возвращаюсь ко второму активному действию, которое я включаю, я возвращаюсь к main activity, но намерение никогда не становится нулевым.

Я пытался выполнить setIntent(null) в методе processIntent, япытался выполнить getIntent.setAction("") и getIntent.setData(null).

Есть ли способ сделать это без переопределения метода onBackPressed() во втором упражнении, чтобы снова открыть основное действие без намерения.

1 Ответ

0 голосов
/ 13 июня 2018

getIntent() всегда возвращает Intent, с которого Activity был запущен.Почему бы просто не установить флаг в вашем MainActivity, когда вы звоните startActivity() для другого Activity.Когда он вернется к вашему Activity, вы можете установить флажок, чтобы определить состояние и действовать соответственно.

В качестве альтернативы вы можете использовать startActivityForResult(), что позволит вам передавать информацию обратно с Activity, который вы запустили.Также метод onActivityResult() будет вызываться на вашем MainActivity, когда завершится другой Activity, так что вы можете установить внутренние флаги или что угодно, чтобы определить, что делать дальше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...