Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
VV0lk
11 / 1 / 0
Регистрация: 25.12.2011
Сообщений: 169
#1

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

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

Здравствуйте. Подскажите пожалуйста, как сохранить данные при нажатии аппаратной кнопки back в главном активити? Мне бы в идеале хотелось сделать так, чтобы приложение при нажатии back вело себя также как при нажатии home, т.е. сворачивалось, а все данные оставались на месте, таймер тикал и т.д. Как то сохранять данные в OnStop-е, т.к. onSaveInstanceState - не вызывается (оно и понятно..) Но как? Писать в файл все отображаемые переменные, а в OnCreate вычитывать и ставить по местам? Или как то переопределить OnBackPressed, чтобы вместо него происходило что то типа "OnHomePressed" ? Или есть какие то более правильные способы? Подскажите! Заранее благодарен!
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2015, 19:34     Как сохранить данные при свертывании аппаратной кнопкой "Back"?
Посмотрите здесь:
блокирование кнопок "Home" "Back" Android
Android Как открывать/закрывать NavigationDrawer кнопкой "Menu"
Android AutocompleteTextView не закрывался диалог на кнопку "back"
Android Кнопка "Back" для приложения
Android Пошаговое создание кнопки "back"
Searchview закрыть поиск программно, также как закрывается кнопкой back Android
Android Admob interstitial. Запретить закрытие кнопкой "назад"
Android Кнопка "Стереть данные", как от нее защититься?
Приложение "Рецепты", как хранить данные? Android
Как сохранить все данные при повороте Android
Что такое "кэш" в android? Как можно программно сохранить что-то в кэш? Android
Android Сохранить "положение" checkbox'a

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dtx1212
6 / 6 / 1
Регистрация: 08.12.2013
Сообщений: 26
23.01.2015, 12:44     Как сохранить данные при свертывании аппаратной кнопкой "Back"? #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Java
1
2
3
4
5
6
@Override
    public void onBackPressed() {
        if(!getSupportFragmentManager().popBackStackImmediate()) {
            moveTaskToBack(true);
        }
    }
Для FragmentActivity
mt060661
0 / 0 / 0
Регистрация: 14.02.2014
Сообщений: 13
23.01.2015, 21:27     Как сохранить данные при свертывании аппаратной кнопкой "Back"? #3
У меня вопрос тоже по поводу кнопок.
нужно научится обрабатывать 3 кнопки:
назад, home и свернуть.
с первой я разобрался. с home как я понял ничего не сделаешь на стандартной прошивке.
Осталась кнопка свернуть, и тут тупик.
кто что сможет сказать по этому поводу?
VV0lk
11 / 1 / 0
Регистрация: 25.12.2011
Сообщений: 169
24.01.2015, 14:51  [ТС]     Как сохранить данные при свертывании аппаратной кнопкой "Back"? #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); без каких либо проверок работает аналогично.
dtx1212
6 / 6 / 1
Регистрация: 08.12.2013
Сообщений: 26
24.01.2015, 17:17     Как сохранить данные при свертывании аппаратной кнопкой "Back"? #5
Ну если ты не пользуешься фрагментами, то конечно можно обойтись и просто MoveTaskToBack(true);
Yandex
Объявления
24.01.2015, 17:17     Как сохранить данные при свертывании аппаратной кнопкой "Back"?
Ответ Создать тему
Опции темы

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