В приложении Xamarin.Forms для Android снова вызывается MainActivity.OnCreate после нажатия кнопки «Назад» на устройстве, а затем значка приложения? - PullRequest
0 голосов
/ 20 сентября 2018

В приложении Android Xamarin.Forms функция MainActivity.OnCreate вызывается снова, после нажатия кнопки «Назад» на устройстве, чтобы выйти из приложения, затем нажатия значка приложения или снимка в списке запущенных приложений для повторного запуска.Таким образом, все состояния теряются, хотя приложение, кажется, остается в списке выполнения приложения.Если я нажимаю среднюю кнопку устройства для выхода, а затем снова нажимаю значок приложения, я вижу, что приложения сохраняют все состояния, поскольку не вызывается MainActivity.OnCreate, в котором есть некоторые коды инициализации.

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

Вопрос 2. Достойно ли / законно / общепринято, чтобы оба способа обеспечивали одинаковое поведение приложения - сохраняя все состояния при повторной активации?

Вопрос 3: Если да, как это сделать правильно?

1 Ответ

0 голосов
/ 20 сентября 2018

Пожалуйста, обратитесь к: https://docs.microsoft.com/en-us/xamarin/android/app-fundamentals/activity-lifecycle/

И: https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/app-lifecycle

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

В XF кнопка «Назад» может выполнять несколько задач на Android, таких как извлечение страниц из стека навигации или выход из приложения и его уничтожение.Несмотря на то, что приложение по-прежнему отображается в фоновом режиме после нажатия, оно фактически закрывается.Средняя кнопка переводит приложение в фоновый режим.

Вопрос 2. Достойно ли / законно / общепринято, чтобы оба способа обеспечивали одинаковое поведение приложения - сохраняя все состояния при повторной активации?

Этот вопрос субъективен, то есть зависит от того, что вы пытаетесь сделать.Но в целом нет.Важно придерживаться лучших практик ОС Android, поскольку пользователи ожидают, что кнопки на их устройстве будут вести себя аналогично тому, как они ведут себя в ОС.

https://developer.android.com/distribute/best-practices/develop/

Вопрос 3: Если да, как это сделать правильно?

См. Ссылки выше.Это также отличный ресурс: https://docs.microsoft.com/en-us/xamarin/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...