Push-уведомление на ОС Android Jelly Bean

Мы заметили, что в ОС Jelly Bean есть параметр «Показывать уведомления» в разделе «Информация о приложении».

Мы реализовали push-уведомления для нашего приложения, когда мы спрашиваем пользователя, разрешают ли они push-уведомления, когда они впервые запускают приложение.
Поскольку в версиях до Jelly Bean (JB) не было доступных глобальных настроек уведомлений, у нас был уведомления ON / OFF переключаются внутри нашего приложения в меню настроек. Однако, поскольку устройства JB имеют настройку уведомлений вне приложения, которую пользователь может переключать, теперь нам нужно отслеживать 2 переключателя (один вне приложения и один внутри приложения).

Что рекомендуется для уведомлений на устройствах JB? Есть ли API, который мы можем использовать, чтобы знать, включены ли у пользователя «Уведомления» или нет за пределами нашего приложения?

Спасибо.


person user1563567    schedule 30.07.2012    source источник
comment
у вас есть способ программно прочитать настройки информации о приложении? Конечно, вы не можете установить его программно, хотя эта возможность ищется в stackoverflow.com/questions/12611635/   -  person larham1    schedule 29.09.2012


Ответы (2)


Я не уверен на 100%, но не думаю, что вам придется следить за обоими переключателями. Я бы предположил, что тот, что находится в области «Система» -> «Приложения», переопределит все, что вы делаете. Так:

Ваше приложение включено, системное приложение включено - уведомление включено!

Ваше приложение включено, системное приложение выключено, уведомления отключены!

Ваше приложение выключено, системное приложение включено - уведомление отключено!

person Frank Urbanski    schedule 31.07.2012

Я бы предложил написать простой тестовый пример, чтобы проверить это. Создайте приложение, которое пытается запустить уведомление, запустите его, убедитесь, что вы получили уведомление. Закройте уведомление, снимите флажок «Показать уведомления» для вашего тестового приложения и запустите его снова. Я склонен полагать, что NotificationManager просто игнорирует ваш запрос на отображение уведомления, если пользователь отключил уведомления для вашего приложения. Вам вероятно не нужно ничего делать в своем приложении для поддержки новой функции ОС.

person Travis    schedule 19.11.2012