Отображение главного меню приложения экран/home при возврате к приложению, запустив внешнее Действие/Намерение

Я запускаю Android Market с помощью своего приложения для поиска аналогичных продуктов с помощью этого кода:

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://market.android.com/search?q=pub:\"some txt\""));
c.startActivity(intent);

Это хорошо работает для показа аналогичных продуктов. Однако, если я нажал кнопку "Домой", в то время как на рынке, когда я вновь открыл приложение, оно все еще показывает результаты рынка. Я хочу войти в главное меню в этом случае.

Существует ли решение?

5
задан blahdiblah 30 July 2014 в 01:35
поделиться

3 ответа

Извините, FLAG_ACTIVITY_NO_HISTORY, вероятно, не является правильным решением. Обратите внимание на семантику - активность просто не появляется в истории. Таким образом, если пользователь нажмет на одну из вещей в ней, чтобы перейти к следующей активности, а затем нажмет назад, он вернется не к предыдущей (а к предыдущей). Это редко то, чего вы хотите.

Хуже того, если они перейдут ко второму действию из рыночного действия, нажмут кнопку домой и вернутся в ваше приложение, второе действие все еще будет там (оно сохраняется в истории).

Правильный флаг для этой ситуации - FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET.

15
ответ дан 18 December 2019 в 06:22
поделиться

Если вы добавите флаг FLAG_ACTIVITY_NO_HISTORY к намерению, он не будет храниться в стеке истории. Когда пользователь возвращается к вашему приложению, будет показано последнее действие, которое было видно перед запуском торговой площадки.

Intent intent = new Intent(Intent.ACTION_VIEW,
    Uri.parse("http://market.android.com/search?q=pub:\"some txt\"")); 

c.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
c.startActivity(intent); 

Правка: hackbod правильный: FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET лучше подходит для того, что вам нужно.

10
ответ дан 18 December 2019 в 06:22
поделиться

Это не проблема.

Когда вы нажимаете кнопку «Домой» в приложении «Маркет», оно не закрывается, а просто приостанавливается. Поэтому, когда вы открываете его снова, вы возобновляете его. Проверьте жизненный цикл активности Android .

0
ответ дан 18 December 2019 в 06:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: