- Не приходят уведомления на Android — как исправить?
- Режим экономии трафика и иные причины, имеющие отношение к Интернет-подключению
- Режим экономии энергии как причина неполучения уведомлений
- Уведомления не показываются на экране блокировки
- Другие настройки уведомлений на Android, из-за которых они могут не приходить
- Дополнительные варианты
- Видео инструкция
- Бесплатные сообщения по Wi-Fi на Android
- Общие сведения
- Приложения с доступом в интернет
- Программы, работающие в локальной сети
- Как узнать пароль от Wi-Fі на Аndroid: Видео
- Бесплатные сообщения по Wi-Fi на Android: Видео
- Как включить Wi-Fi звонки на Android телефоне
- Как включить Wi-Fi звонки в Android
- Если нет встроенной функции Wi-Fi вызовов
- Push уведомления в Android. Грабли, костыли и велосипеды
Не приходят уведомления на Android — как исправить?
Некоторые владельцы телефонов или планшетов Android могут столкнуться с тем, что перестали приходить уведомления: в некоторых случаях только от отдельных приложений, таких как Instagram, WhatsApp, ВК, Телеграм, в других — перестают приходить все уведомления, иногда — только уведомления на экране блокировки.
В этой инструкции подробно о том, что может вызывать проблемы с получением уведомлений на Android (на примере чистой системы и на Samsung Galaxy) и о том, как это исправить и снова включить уведомления.
Режим экономии трафика и иные причины, имеющие отношение к Интернет-подключению
Если на вашем телефоне или планшете включен режим экономии мобильного трафика, уведомления приложений могут не приходить в мобильной сети. Режим экономии трафика обычно включается в настройках сети и Интернета, либо с помощью кнопки в области уведомлений.
Подробно о том, как отключить этот режим на разных марках телефонов в отдельной инструкции Как отключить экономию трафика на Android и Samsung Galaxy (откроется в новой вкладке).
Это не единственная причина, связанная с подключением, по которой могут не приходить уведомления, среди прочих можно выделить:
- Наличие активных приложений VPN/прокси (попробуйте их отключить).
- Установленные антивирусы с функциями защиты в сети (проверьте, будут ли приходить уведомления, если их отключить).
- Включенный режим полёта (включается кнопкой в области уведомлений на большинстве Android-устройств).
- Исчерпание трафика на мобильном тарифе — при этом скорость соединения сильно ограничиваются и уведомления по мобильной сети могут перестать приходить. Проверить этот момент легко: просто попробуйте открыть какой-либо «тяжелый сайт» при использовании мобильной сети (но не соцсеть или YouTube, так как на многих тарифах сегодня трафик для них не ограничивается).
Режим экономии энергии как причина неполучения уведомлений
Если на вашем Android смартфоне включен режим экономии заряда батареи, то это тоже может повлиять на то, что уведомления перестали приходить. Как правило, режим энергосбережения можно выключить одним из следующих способов:
- Кнопкой в области уведомлений, как на изображении в предыдущем разделе.
- В Настройках. На чистом Android в разделе «Батарея» — «Режим энергосбережения». Там же может иметь смысл отключить режим «Адаптивная батарея» при его наличии.
- На Samsung Galaxy — в Настройки — Обслуживание устройства — Батарея — Режим питания. Попробуйте установить режим «Высокая производительность».
На устройствах с собственными интерфейсами, например, Xiaomi или Huawei расположение пункта настройки экономии заряда может отличаться, но обычно его легко найти (также можно использовать поиск по настройкам).
Уведомления не показываются на экране блокировки
Если уведомления приходят, но не показываются на экране блокировки вашего смартфона или планшета, возможно вы установили соответствующие правила, либо это сделал ваш антивирус в целях безопасности (отображение содержимого уведомлений на экране блокировки — не лучшее решение в плане конфиденциальности). Настроить показ уведомлений на экране блокировки можно:
- На чистой системе Android: Настройки —Приложения и уведомления — Уведомления — Уведомления на заблокированном экране. Там же может присутствовать пункт для включения или отключения уведомлений, содержащих конфиденциальные данные.
- На Samsung Galaxy: Настройки — Экран блокировки — Уведомления (включить).
Другие настройки уведомлений на Android, из-за которых они могут не приходить
Помимо описанных случаев, уведомления могут не приходить по следующим причинам:
- Включен режим «Не беспокоить» (обычно включается кнопкой в области уведомлений). Но на некоторых смартфонах можно сделать так, чтобы в этом режиме уведомления продолжали приходить, например, на Samsung — в Настройки — Уведомления — Не беспокоить (если включить этот пункт, они начнут приходить).
- Приложению запрещена отправка уведомлений. Обычно можно зайти в Настройки — Приложения, выбрать нужное приложение и нажать по кнопке «Уведомления», чтобы увидеть, разрешены ли уведомления для этого приложения и какие именно (как на скриншоте ниже).
- В некоторых приложения могут быть собственные настройки отправки уведомлений, независимые от Android. Попробуйте зайти в настройки приложения и посмотреть, присутствуют ли там такие опции и можно ли их изменить.
Обычно, к этому моменту проблема с уведомлениями бывает решена или, по крайней мере, оказываются ясными причины, по которым они не приходят. Однако, если это не так, обратите внимание на нижеследующие нюансы.
Дополнительные варианты
- Попробуйте перезагрузить ваш телефон, иногда это срабатывает и исправляет работу уведомлений.
- В основных настройках телефона убедитесь, что установлены правильные дата, время и часовой пояс. Если это не так, исправьте их.
- Существуют сторонние приложения, меняющие интерфейс системы, антивирусы и некоторые другие, которые могут отключать (скрывать) уведомления. Если они перестали приходить после установки каких-то новых системных приложений Android, попробуйте временно отключить такие приложения и проверить, исправило ли это ситуацию.
- Редко, но случается, что уведомления от какого-либо сервиса (например, социальной сети или мессенджера) перестают приходить из-за сбоя со стороны этого сервиса. В этом случае решить проблему сами вы не сможете: остается дождаться, когда проблема будет решена с их стороны.
Видео инструкция
Если статья вам помогла, будет отлично, если в комментариях вы сможете рассказать, в чём именно была проблема в вашем случае, возможно, информация поможет другим читателям.
Источник
Бесплатные сообщения по Wi-Fi на Android
Если вы хотите узнать, как пересылать сообщения, используя WI-FI на смартфоне или планшете Android, тогда задержитесь на этой странице. Всего несколько минут – и вы увидите, как легко и просто можно экономить на связи.
Общие сведения
Для этого нам понадобится программное обеспечение, находящееся в свободном доступе на Google Play. Без этого, то есть стандартными средствами ОС Android, решить нашу задачу невозможно.
Из большого разнообразия программ для связи по WI-FI можно выделить две группы:
- приложения, требующие доступ в интернет;
- программы, работающие в локальной сети.
Приложения с доступом в интернет
Одним из самых известных является Skype. Эта программа распространяется абсолютно бесплатно. Возможности её позволяют не только отправлять сообщения, но также осуществлять видеозвонки. Есть в ней платные услуги связи, однако интересующие нас функции доступны бесплатно и не ограничены во времени.
Как уже говорилось выше, скачать, а также установить этот сервис можно из Google Play. После установки потребуется обязательная регистрация. Если у вас уже есть аккаунт в Skype, то можно просто авторизоваться.
При этом все контакты из компьютерной версии приложения автоматически перенесутся в Android.
Абоненту, которому вы намерены отправлять свои послания, тоже потребуется установить Skype и авторизоваться. Если вы используете программу впервые, то для налаживания связи в строке поиска необходимо вписать ник абонента, после чего добавить его в друзья. Чтобы вызвать строку поиска, нажимаем системную кнопку меню настроек.
После этого просто выбираем из списка контактов нужный и отправляем ему послание.
Еще раз напомним, что для связи этим способом нужно, чтобы оба планшета Android были подключены к интернету. Для мгновенного получения сообщения Skype должен быть запущен.
Программы, работающие в локальной сети
Сообщения посредством модуля Wi-Fi на устройствах Android можно отправлять, даже не имея выхода в интернет. Как один из сервисов, обеспечивающих такую возможность, мы выбрали Wi-Fi Talkie Lite.
Как и Skype, это ПО также позволяет, кроме отправки СМС, осуществлять звонки (но без видео) и передавать файлы. Правда, эти услуги имеют урезанный вид в бесплатной версии. Зато сообщения отправляются без проблем.
Скачиваем Wi-Fi Talkie Lite, устанавливаем. После этого запускаем его нажатием на ярлык программы на рабочем столе.
Интерфейс очень прост – пользователю доступны только разделы «Устройства» и «Чат».
В чате можно обмениваться сообщениями со всеми участниками сети. В разделе «Устройства» – отправлять СМС отдельно выбранному абоненту. Просто выбираем из списка нужный смартфон однократным нажатием- и можно общаться.
Нажатие с удержанием открывает меню выбора действий, где, кроме личных сообщений, есть «Отправить файлы» и «Позвонить».
Отдельно следует напомнить, что для второй программы обязательно подключение всех телефонов к одной и той же точке доступа (локальной сети). Однако наличие интернета не требуется.
Теперь вы знаете, как передавать текстовые сообщения с помощью модуля Wi-Fi на устройствах Android.
Как узнать пароль от Wi-Fі на Аndroid: Видео
Бесплатные сообщения по Wi-Fi на Android: Видео
Источник
Как включить Wi-Fi звонки на Android телефоне
Если Вы находитесь на операторе, который это поддерживает, Wi-Fi звонки — отличная возможность. Это позволит Вашему смартфону использовать лучшее соединение в Вашем доме для совершения и приема вызовов и текстовых сообщений. Это также позволяет использовать более качественный звук, и это идеально, если у Вас плохой сигнал в доме.
Хотя эта функция существует в Android в течение многих лет, она все еще шокирует, сколько людей не знают, что она существует. Это отчасти связано с медленным внедрением операторами, а также просто недостаточным охватом функции и ее полезностью.
Большинство современных телефонов Android должны поддерживать Wi-Fi-звонки, но их можно заблокировать. Например, Galaxy S7 поддерживает Wi-Fi-звонки, но некоторые версии этого телефона не предлагает эту функцию. В принципе, это должно поддерживаться как телефоном, так и оператором.
Если вы собираетесь копаться и попытаться найти настройку, о которой мы поговорим ниже, и ее там нет, то либо Ваш оператор не предлагает ее, либо она недоступна на Вашем конкретном телефоне.
Как включить Wi-Fi звонки в Android
Даже если Вы используете комбинацию телефона и оператора, поддерживающую Wi-Fi звонки, она, вероятно, не включена по умолчанию. Чтобы включить ее, Вам нужно перейти в меню «Настройки». В зависимости от используемого смартфона процесс может немного отличаться на Вашем телефоне.
В то время как Вы можете пройти все шаги, чтобы войти в меню Wi-Fi звонков, проще всего просто найти ее, опустите панель уведомлений и коснитесь значка шестеренки.
Оттуда коснитесь увеличительного стекла, затем введите «звонки по wifi». Если они доступны в Вашей ситуации, они должен появиться здесь.
В моем случае Android не перенаправил меня прямо в меню Wi-Fi звонков, а открыл расширенный раздел настроек Wi-Fi, где найдены Wi-Fi звонки. Коснитесь опции Wi-Fi звонки, чтобы перейти в ее раздел меню.
Сдвиньте переключатель, чтобы включить данную функцию. Вы также можете выбрать, хотите ли Вы, чтобы телефон предпочитал сети WI-Fi или мобильные сети для звонков. Всякий раз, когда у него есть оба варианта, он будет использовать Ваш предпочтительный вариант, а затем легко переключится на другой, когда один из них станет недоступным.
Если нет встроенной функции Wi-Fi вызовов
Тот факт, что Ваш оператор и/или телефон технически не поддерживает исходящие Wi-Fi вызовы, не означает, что Вы не можете использовать данную функцию. Существует множество приложений, которые позволят Вам совершать звонки, вот некоторые из самых популярных:
- Скайп
- Google Duo
- Google Voice
- Hangouts
- Messenger
По сути, любое из этих приложений позволит Вам совершать звонки через Wi-Fi, но они не будут использовать Ваш фактический номер телефона и в большинстве случаев не будут звонить на традиционный телефон. Вместо этого Вы фактически будете совершать звонки с одного аккаунта на другой; например, если Вы используете Facebook Messenger, Вы просто «звоните» человеку в его учетную запись Facebook, а не вводите номер телефона. То же самое касается бесплатных учетных записей Skype, хотя Вы можете заплатить деньги, чтобы звонить на обычные телефонные номера.
Google Hangouts и Voice являются исключениями — они по сути работают вместе, чтобы совершать звонки. Вам понадобится номер Google Voice , а также Телефон Hangouts для совершения звонков, и в этом случае Вы сможете звонить на любой традиционный телефонный номер. Проблема возникнет, когда Вы захотите получать вызовы с помощью этих инструментов — Вам придется сделать для этого немного дополнительных настроек.
По правде говоря, Facebook Messenger — это, вероятно, лучший путь, если предположить, что человек, с которым Вы пытаетесь общаться, также находится на Facebook (и в списке Ваших друзей). Он очень прост в использовании и предлагает хорошее качество связи.
Стоит также отметить, что эти сервисы также будут работать с мобильными данными, поэтому Вам не нужно использовать Wi-Fi для их использования. Это круто.
Wi-Fi вызовы — это очень классная услуга, и Вам обязательно нужно включить ее, если Ваш оператор и телефон поддерживают ее. Вы будете получать звонки более высокого качества и, по сути, не будете иметь «мертвых зон», где звонки будут прерываться или отключаться.
Источник
Push уведомления в Android. Грабли, костыли и велосипеды
На написание данной статьи меня подтолкнула задача, которая была поставлена передо мной в одном из рабочих проектов: реализовать Push-уведомления в приложении. Казалось, все просто: штудируешь документацию, примеры и вперед. К тому же, опыт работы с уведомлениями уже был. Но не тут то было…
Сервис, в рамках которого реализовано приложение под Android, предъявляет довольно жесткие требования к работе Push-уведомлений. Необходимо в пределах 30-60 секунд оповестить пользователя о некотором действии. При успешном оповещении с устройства пользователя отправляется запрос на сервер с соответствующим статусом. Из документации известно, что сервис GCM (Google Cloud Messaging) не гарантирует доставку PUSH-уведомлений на устройства, поэтому в качестве backdoor варианта, при нарушении этих временных рамок, наш сервис уведомляет пользователя с помощью SMS сообщения. Поскольку стоимость SMS сообщения существенно выше чем PUSH-уведомления, необходимо максимально сократить поток SMS сообщений на клиентские устройства.
Проштудировав документацию и прикрутив пуш-уведомления, мы разослали нескольким клиентам первую сборку приложения для теста и стали ждать. Результаты были примерно следующими:
- при активном Wifi соединении все работает идеально: уведомления доставляются, клиенты рады.
- при активном мобильном интернете началось самое веселье.
Некоторые клиенты писали, что испытывают задержки в доставке пушей, либо получали одновременно и PUSH и SMS, что достаточно не практично. Другие писали, что вовсе не получали уведомлений, а только SMS. У третьих, как и у нас на тестовых устройствах, все было ок. Собрав с недовольных клиентов максимально возможную информацию, стали разбираться в проблеме и вывели следующий список ограничений (этот список позже вылился в полноценный FAQ):
- включенный режим Энергосбережения (например, Stamina на устройствах Sony) влияет на работу Push уведомлений;
- у пользователя обязательно должен быть минимум 1 активный Google аккаунт на устройстве;
- необходимо удостовериться в том, что на устройстве установлена актуальная версия приложения “Сервисы Google Play”;
- проверить, не отключены ли уведомления для приложения (галочка на страничке приложения в настройках телефона);
- проверить, не ограничена ли работа фонового режима для приложения (настройка расположена в меню «Использование данных»);
- в документации к GCM указано, что уведомления рассылаются только по определенным портам, поэтому настройки роутера, файервола и антивируса так же стоит учитывать.
Разослав данную памятку по всем клиентам, мы снова стали ждать результатов. И они оказались снова «не очень». Стали копать дальше.
На данном этапе очень сильно помогла статья, написанная ребятами из Mail.ru. В ней очень подробно описаны тонкости реализации GCM на клиентской стороне, а так же моменты, в связи с которыми отказываются работать Push уведомления в мобильных сетях. В конечном счете было принято решение о том, чтобы держать свое соединение с сервером в связке с GCM.
Перед тем, как приступить к решению, стоить выделить несколько очень важных моментов, которые позволяют сузить круг потенциально «нерабочих» устройств:
- проблема возникает только при подключении к мобильному интернету;
- по данным клиентов, проблема возникает на версии андроида 4 и выше.
И так, перейдем к реализации.
Бывалый разработчик под Android сходу скажет, что решений задачи как минимум 2: использовать Service или AlarmManager. Мы попробовали оба варианта. Рассмотрим первый из них.
Для того, чтобы создать неубиваемый системой сервис, который постоянно будет висеть в фоне и выполнять нашу задачу, мы использовали метод:
- notificationId — некоторый уникальный идентификатор уведомления, который будет выведен в статус баре и в выезжающей шторке;
- notification — само уведомление.
В данном случае обязательным условием является отображение уведомления в статус баре. Такой подход гарантирует то, что сервису будет дан больший приоритет (поскольку он взаимодействует с UI частью системы) в момент нехватки памяти на устройстве и система будет выгружать его одним из последних. Нам это уведомление не нужно, поэтому мы воспользовались следующим велосипедом: достаточно запустить одновременно с первым сервисом второй и для обоих сервисов в качестве notificationID использовать одно и тоже значение. Затем убить второй сервис. При этом уведомление пропадет из статус бара, но функциональные и приоритетные возможности первого сервиса останутся.
Реализовав данный подход, мы отправили сборку на тест. По результатам выяснилось, что система все-таки выгружает сервис, а по логам мы видели, как происходили существенные временные разрывы при запросе данных в фоне с нашего сервера. Поэтому приступили к реализации второго варианта — AlarmManager.
AlarmManager — это класс, который предоставляет работу с, грубо говоря, «будильником». Он позволяет указать время, по достижении которого система отправит широковещательное уведомление, которое позволит пробудить наше приложение и даст ему возможность выполнить необходимые действия. В работе этого метода есть некоторые ограничения, и их необходимо обработать:
- данные о «будильниках» будут стерты после перезагрузки устройства;
- данные о «будильниках» будут стерты после обновления приложения.
Первыми граблями, на которые мы наступили, был метод
который позволяет установить повторяющийся с некоторым интервалом «будильник». Прикрутив данный способ, стали тестировать, и тесты показали обратное — «будильник» не повторялся. Стали разбираться в чем дело, посмотрели документацию. И именно там нашли ответ на вопрос — начиная с 19 API lvl (Kitkat) абсолютно все «будильники» в системе стали разовыми. Вывод — всегда читайте документацию.
Эти грабли не были поводом для расстройства, ведь решение задачи довольно простое — запускать единоразовый «будильник» и после срабатывания переустанавливать его. При реализации этого подхода мы наткнулись на следующие грабли — оказалось, что для разных уровней API необходимо по разному устанавливать будильники, при этом в документации ничего сказано не было. Но данная проблема решилась достаточно просто — методом «тыка» и «гугления». Ниже представлен пример кода, позволяющий правильно устанавливать «будильники»:
Хочу обратить внимание на флаг AlarmManager.RTC_WAKEUP — именно с помощью него система позволит нашему приложению «проснуться» при неактивном экране, когда устройство находится в заблокированном состоянии.
Данный подход с «будильникам» дал нам нужный результат — приложение в фоне корректно опрашивает сервер на наличие новых данных. Сейчас мы дорабатываем алгоритм. На данный момент реализуем и тестируем следующую оптимизацию, которая позволит сузить круг устройств и тем самым уменьшить нагрузку на сервер:
- в сообщении, отправленном средствами GCM на устройство, содержится некоторый уникальный ID;
- получив данные GET запросом в фоновом режиме проверяем, существуют ли уже запись с таким ID на устройстве;
- если локально на устройстве таких данных нет, мы запоминаем этот ID и время его получения T1;
- ждем PUSH с таким же ID, при получении запоминаем время T2 и проверяем разницу между T2 и T1;
- если разница составляет больше некоторого временного критерия (значения), то на устройстве наблюдается проблема с доставкой уведомлений и для корректной работы сервиса необходимо постоянно запрашивать данные в фоновом режиме с сервера (критерий советую выбирать исходя из решаемой задачи. В нашем случае, был выбран критерий равный 5 минутам);
- данную разницу стоит вычислять несколько раз, например 5-10 раз, только после этого делать вывод о том, что устройство действительно содержит проблему с получением Push уведомлений (таким образом исключается ситуация банального разрыва соединения, таймаута и пр.);
- необходимо прогонять данный алгоритм периодически (например, раз в неделю, или после обновления ОС на устройстве).
Всем добра. И поменьше подобных костылей.
Источник