Я пытаюсь поймать, когда пользователь нажал кнопку «Домой». Я думал, что могу использоватьAndroid - Как поймать, что нажата кнопка «Домой»?
protected void onResume()
{
registerReceiver(homeReceiver, new IntentFilter(Intent.CATEGORY_HOME));
}
...
private BroadcastReceiver homeReceiver = new BroadcastReceiver()
{
public void onReceive(Context context, Intent intent)
{
// logic here
}
};
но это не работает. Я понимаю, что onPause будет вызываться, но у моего конкретного приложения есть некоторая логика, которую мне нужно обрабатывать отдельно. Краткая история основана на некоторой информации, входящей в приложение, приложение будет отображать новые действия для пользователя. Чтобы предотвратить проблемы с кнопкой «Назад», по мере того, как каждое действие попадает на него, он вызывает завершение сам по себе. Однако, если пользователь нажимает кнопку «Домой», я не хочу, чтобы «Активность» заканчивалась так, что когда пользователь нажимает значок приложения на главном экране или через список запущенных приложений, последняя активность возвращается.
Я подозреваю, что сделал это более сложным, чем планировалось. Любые предложения приветствуются.
Я сожалею, что тыпытаясь сделать здесь? По умолчанию у вас есть поведение, которое вам кажется нужным. Не нужно захватывать задние или домашние кнопки. – schwiz
Более длинная история - это активность A, начинающаяся с B, которая, в зависимости от входящих данных, будет отображать C, D или F. Отображение C, D или F можно изменить по мере ввода новых данных. чтобы быть кнопкой выхода. Если C, D и F не назовут финиш в их onStop, нажмите циклы Back обратно через каждый предыдущий экран. Поскольку в настоящее время я не могу сказать, когда нажата кнопка «Домой», текущая активность отображается на ее конце и заканчивается. Но затем, когда пользователь нажимает значок, чтобы вернуться, приложение/Android не вернется туда, где мы остановились. – bursk
Вы пробовали использовать startActivityForResult? – schwiz