С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
VV0lk
11 / 1 / 1
Регистрация: 25.12.2011
Сообщений: 177
1

Как сохранить данные при свертывании аппаратной кнопкой "Back"?

22.01.2015, 19:34. Просмотров 953. Ответов 4
Метки нет (Все метки)

Здравствуйте. Подскажите пожалуйста, как сохранить данные при нажатии аппаратной кнопки back в главном активити? Мне бы в идеале хотелось сделать так, чтобы приложение при нажатии back вело себя также как при нажатии home, т.е. сворачивалось, а все данные оставались на месте, таймер тикал и т.д. Как то сохранять данные в OnStop-е, т.к. onSaveInstanceState - не вызывается (оно и понятно..) Но как? Писать в файл все отображаемые переменные, а в OnCreate вычитывать и ставить по местам? Или как то переопределить OnBackPressed, чтобы вместо него происходило что то типа "OnHomePressed" ? Или есть какие то более правильные способы? Подскажите! Заранее благодарен!
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2015, 19:34
Ответы с готовыми решениями:

блокирование кнопок "Home" "Back"
Доброго времени. собственно вопрос сл. можно ли заблокировать или каким либо...

Как открывать/закрывать NavigationDrawer кнопкой "Menu"
собсно и вопрос в этом, где и что повесить на хардварную кнопку меню чтоб...

AutocompleteTextView не закрывался диалог на кнопку "back"
Всем привет! Как сделать так чтобы диалог AutocompleteTextView не закрывался на...

Пошаговое создание кнопки "back"
ДОбрый день, подскажите пожалуйста пошагово, как создать в приложении кнопку...

Кнопка "Back" для приложения
у меня есть несколько форм и мне необходима кнопка которая будет возвращать...

4
dtx1212
6 / 6 / 3
Регистрация: 08.12.2013
Сообщений: 26
23.01.2015, 12:44 2
Лучший ответ Сообщение было отмечено VV0lk как решение

Решение

Java
1
2
3
4
5
6
@Override
    public void onBackPressed() {
        if(!getSupportFragmentManager().popBackStackImmediate()) {
            moveTaskToBack(true);
        }
    }
Для FragmentActivity
1
mt060661
0 / 0 / 0
Регистрация: 14.02.2014
Сообщений: 13
23.01.2015, 21:27 3
У меня вопрос тоже по поводу кнопок.
нужно научится обрабатывать 3 кнопки:
назад, home и свернуть.
с первой я разобрался. с home как я понял ничего не сделаешь на стандартной прошивке.
Осталась кнопка свернуть, и тут тупик.
кто что сможет сказать по этому поводу?
0
VV0lk
11 / 1 / 1
Регистрация: 25.12.2011
Сообщений: 177
24.01.2015, 14:51  [ТС] 4
Спасибо за:
@Override
public void onBackPressed() {
if(!getSupportFragmentManager().popBackStackImmediate()) {
moveTaskToBack(true);
}
}
Но так как я пишу на Mono под Android 4.0+ у меня код выглядит так:
C#
1
2
3
4
5
public override void OnBackPressed()
        {
            if(!FragmentManager.PopBackStackImmediate())
                MoveTaskToBack(true);     
        }
В принципе переопределение метода, просто функцией MoveTaskToBack(true); без каких либо проверок работает аналогично.
0
dtx1212
6 / 6 / 3
Регистрация: 08.12.2013
Сообщений: 26
24.01.2015, 17:17 5
Ну если ты не пользуешься фрагментами, то конечно можно обойтись и просто MoveTaskToBack(true);
0
24.01.2015, 17:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.01.2015, 17:17

Searchview закрыть поиск программно, также как закрывается кнопкой back
Осуществляется поиск по списку listview, нужно при клике на элемент списка,...

Admob interstitial. Запретить закрытие кнопкой "назад"
Как сделать так, чтобы межстраничное объявление закрывалось только нажатием на...

Кнопка "Стереть данные", как от нее защититься?
В настройках приложения есть кнопка "Стереть данные", она удаляет все данные (в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru