Перейти к содержанию
Fire Monkey от А до Я
  • 0

[Андроид]запрет пушей


Ingalime

Вопрос

Подскажите, пожалуйста, как программно реализовать в приложении запрет пушей? Во многих программах делают пункт меню, где пользователь может поставить галочку - получать или нет пуши. У меня булевая переменная для отсекания события OnReceiveNotificationEvent, но если программа выгружена, то пуш все равно приходит. Как правильно?

OnReceiveNotificationEvent из статьи: http://blog.rzaripov.kz/2017/02/firebase-android-ios-2.html

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Значит надо модернизировать РHP сервер? При сбросе галочки удалять токен из таблицы, а при установке снова его туда записывать? Модернизация РHP кода не подьемная задача...

В андроиде в настройках любого придожения есть галочка - "Включить уведомления" см. рис. Если ее сбросить пуши не приходят. Можно ли программно из приложения fmx управлять этой галочкой? Или установка возможна только в ручную? Речь идет о запрете пушей на определенном устройстве. Все остальные пуши получают.

 

Screenshot_2017-05-21-05-47-46.png

Ссылка на комментарий
  • 0

 Ingalime этой настройкой нельзя управлять программно по политики безопасности системы. Из приложения программно можно лишь проверить эту галочку и предложить пользователю открыть эти настройки. Есть 2 решения:

  1. (самый простой способ) не отправлять уведомление с сервера. Т.к. у Вас устройства хранятся в таблице, то необходимо просто добавить туда новый столбец (например "PushEnabled") и изменить sql запрос, которым выбираете токены устройств с БД. PHP код в этом случае не затрагивается.
  2. (если править сервер невозможно или у вас нет доступа) запретить уведомления в BroadcastReceiver, который их обрабатывает и непосредственно создает уведомление в статус баре (приложение свернуто/закрыто) или передает обработку в код FMX (приложение открыто).

2-ой способ является не тривиальным, т.к. требуется изменить стандартную библиотеку FMX cloud-messaging.jar, либо написать свой собственный BroadcastReceiver и его использовать в проекте + придется использовать SharedPreferences, чтобы хранить флаг состояния уведомлений для BroadcastReceiver.

Я рекомендую воспользоваться первым способом. Опишите логику "включения/отключения" пушей, по каким правилам и где изменяется эта настройка, чтобы легче было Вам помочь.

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...