windows phone 7 поддерживает запуск приложения с помощью кнопки «Назад»

#c# #windows-phone-7 #application-state

#c# #windows-phone-7 #состояние приложения

Вопрос:

Я внедряю приложение, которое не должно прекращать работу при нажатии любой кнопки на устройстве. Возможно ли это и как я могу этого добиться?

С уважением

Ответ №1:

Windows Phone 7 не поддерживает многозадачность (запуск приложений в фоновом режиме). Подробнее о жизненном цикле приложения читайте в документации. Mango следующая версия Windows Phone 7 будет поддерживать выполнение некоторого кода в фоновом режиме.

В настоящее время лучшее, что вы можете сделать, это сохранить состояние приложения при завершении работы или отправке в фоновый режим. Для простых настроек (пары ключ-значение) вы можете использовать IsolatedStorageSettings , а для более сложных вещей вы бы использовали IsolatedStorage файловую систему.

Это действительно отличная статья о жизненном цикле приложения и сохранении состояния. И вот обзор IsolatedStorage .

Комментарии:

1. Итак, нужно ли мне сохранять состояние приложения в isolatedstorage и получать его оттуда после повторного открытия?

Ответ №2:

Ваше приложение будет похоронено. Вам нужно будет провести небольшое исследование по этому вопросу.

В сообществе есть несколько опций, которые могут помочь. Все зависит от того, что вы хотите сделать. Если ваша модель сложная, вы, безусловно, будете сериализованы в изолированное хранилище (но есть несколько проектов, которые могут это сделать.

Довольно простой в использовании этот:http://tombstonehelper.codeplex.com /

Ответ №3:

Ожидается, что на следующей неделе (2011-05-24) выйдет целый набор обновлений, и предполагается, что фоновые задачи будут одной из затронутых проблем.

При использовании общедоступных инструментов лучшее, что вы можете получить, — это «запуск под блокировкой», чего вы добиваетесь, следуя этим инструкциям.

Имейте в виду, что существуют строго ограниченные сценарии, при которых такое поведение пройдет проверку на соответствие требованиям, потому что вы сильно разрядите батарею.

Ваш вопрос об изолированном хранилище является хорошим. Это один из всего лишь двух способов сохранить состояние. Другой способ заключается в использовании веб-службы для сохранения состояния на сервере (облачные вычисления).

Чтобы напрямую ответить на один из ваших вопросов, нет, невозможно создать процесс, который нельзя прервать ни одной из кнопок. Все это касается управления ресурсами и сохранения пользовательского интерфейса. Архитектура приложения WP7 полностью основана на пользовательском интерфейсе. Когда-либо выполняется только один пользовательский процесс, и пользователь может предотвратить это в любое время, вызвав другое приложение. Это делает практически невозможным написание служб ведения журнала, но предстоящие обновления могут изменить игру.

Комментарии:

1. На следующей неделе, вероятно, будет анонсирован новый Mango SDK, но никаких новых частей для телефона не выпущено. Кроме того, когда вы находитесь в tombstones, ПОСЛЕДНЕЕ, что вы хотите сделать, это отправить данные в веб-службу — если что-то пойдет не так, вы потеряете данные. Гораздо лучше хранить в изолированном хранилище (или в базе данных в Mango)