2014-09-17 2 views
0

У меня есть фоновая задача, которая запускается при получении необработанного уведомления.Возможно ли, чтобы BackgroundTask знал, находится ли приложение на переднем плане? Если да, то как?

Если приложение не находится на переднем плане, я хочу отображать уведомление тоста, но если оно на переднем плане, я не хочу отображать уведомление.

Можно ли проверить, находится ли приложение на переднем плане от BackgroundTask? Если да, то как?

+0

Наше облачное обслуживание отправляет только сырые уведомления. Фоновый работник приложения получает это и делает 2 вещи: воспроизведение звука и создание тоста. Мы не хотим, чтобы уведомление о том, что приложение находится на переднем плане. – DaveDev

ответ

0

Вам нужно сохранить некоторую переменную в Изолированном хранилище и изменить ее значение на true, когда приложение находится на переднем плане. После того, как ваши приложения перейдут на задний план, вам нужно изменить значение переменной на false.

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

Это самый простой и рекомендуемый способ связи между App и BackgroundTask. Механизм «из коробки» не предусмотрен для такого общения, поэтому вам нужно реализовать свой собственный.

 Смежные вопросы

  • Нет связанных вопросов^_^