Android: закапывание в приложении - PullRequest
0 голосов
/ 20 июня 2011

У меня была проблема с тем, что мое приложение ломало разные страницы в истории.По сути, в моем приложении всего три слоя, и если вы будете использовать приложение в течение 5 минут, то переход между первым и вторым слоями приведет к тому, что вы нажмете кнопку «Назад» 30 раз, чтобы выйти из приложения.В настоящее время я использую намерения изменить класс:

Intent filterIntent = new Intent(view.getContext(), NewLayer.class);
startActivityForResult(filterIntent, 0);

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

Ответы [ 2 ]

2 голосов
/ 20 июня 2011

При определении своего намерения вы можете подумать о добавлении флага , чтобы исключить активность из истории.

intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);

Существуют и другие флаги, которые вы можете добавить, например FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS. На странице, на которую я ссылаюсь, есть несколько, о которых вы, возможно, захотите узнать.

1 голос
/ 20 июня 2011

Пожалуйста, напишите следующий код в файле NewLayer.java.

public boolean onKeyDown(int keyCode, KeyEvent event) 
{
    if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) 
    {
        Intent i = new Intent();
        setResult(CANCEL_CODE,i);
        finish();
        return true;
    }
    return super.onKeyDown(keyCode, event);
}
...