sendMessage не работает должным образом (носимые устройства)

Если я отправляю несколько байтов с помощью sendMessage из Huawei p9 (Android 6.0) в Android Wear (Sony), сообщения не доставляются, если экран портативного устройства выключен. Уведомления внутри носимых устройств не обновляются до тех пор, пока экран в телефоне не будет включен (через 1 минуту)! setUrgent поможет? Я уже добавил это приложение в "список гранд-приложений", которые могут работать при выключенном экране. Приложение уже работает в состоянии WAKELOCK.

Это функция для всех устройств Android 6.0 и новее?

МОЖНО ЛИ ЭТОГО ИЗБЕЖАТЬ? КАКИЕ-ЛИБО ПОДСКАЗКИ?


person Vyacheslav    schedule 12.01.2017    source источник
comment
Ну, вы можете попробовать setUrgent(). На основе этой документации setUrgent помечает элемент данных как срочный транспорт. Последующее срочное обновление устранит задержку ожидающих обновлений и не задержит ожидающие срочные обновления. Обратите внимание, что вы должны использовать setUrgent() только для элементов данных, которые должны быть доставлены немедленно. Дополнительные сведения о setUrgent() см. в этой теме.   -  person KENdi    schedule 12.01.2017
comment
Это не работает. Устройство засыпает. Я нашел решение: увеличьте фоновые процессы для ВСЕХ приложений.   -  person Vyacheslav    schedule 12.01.2017


Ответы (2)


Я потратил 3 дня на поиск решения. Чтобы решить эту проблему, просто включите для ВСЕХ приложений в настройках:

защитить приложение с помощью функции экономии заряда батареи

Подробно:

Чтобы получить доступ к этому разделу профилей питания

Перейдите в Системные настройки. (который вы можете найти в части быстрых переключателей панели уведомлений, потянув вниз строку состояния в верхней части экрана). Прокрутите вниз до Дополнительные настройки и перейдите в раздел Батарея. Менеджер. Перейдите к выбору Защищенные приложения. (Это то, что вы ищете здесь. Это будет контролировать, что разрешено запускать, когда экран выключен, а что нет.)

http://itechify.com/2016/02/01/how-to-fix-missing-push-notifications-on-huawei-smartphones/

person Vyacheslav    schedule 12.01.2017

У меня есть Huawei Honor 6X под управлением Android 7.0 и EMUI 5.0. У меня возникли проблемы с получением уведомлений на моем Pebble Time после блокировки экрана из-за того, что служба оптимизации батареи Huawei отключила процессы. Инструкции, предоставленные Вячеславом, могут быть применимы к предыдущим версиям ОС и EMUI, но я не смог найти эти опции на своем конкретном устройстве. Однако его ответ указал мне правильное направление. Проблема с уведомлением была одной из многих, которые в конечном итоге были вызваны чрезмерным управлением питанием (большое спасибо, Huawei #sarcasm). Вот инструкции о том, как я исключил приложения из оптимизации батареи на своем телефоне:

  1. Откройте Настройки на своем устройстве.
  2. Прокрутите список вниз и выберите параметр Приложения.
  3. Выберите параметр Настройки (синяя шестеренка в нижней части экрана).
  4. Выберите параметр Особый доступ в разделе Дополнительно.
  5. Выберите параметр Не использовать оптимизацию батареи.
  6. Найдите свое приложение в списке и выберите его. Вам, вероятно, потребуется изменить параметр вверху с Разрешено на Все приложения, чтобы увидеть его.
  7. Измените настройку с Не разрешать на Разрешить, затем нажмите ОК.

Я хотел бы отметить, что вам также может понадобиться перейти в раздел Система > Аккумулятор и изменить настройки Закрывать приложения после блокировки экрана для вашего приложения. Я уже выполнил этот шаг в ранее безуспешной попытке решить проблему. Когда у меня будет время, я могу вернуться и проверить, нужно ли делать оба этих изменения или же исключение оптимизации батареи само по себе позаботится об этом. В то же время, если вы исключили приложение из оптимизации батареи, и оно по-прежнему убивает, также измените экран блокировки.

person ryto    schedule 14.08.2017
comment
Более подробный. Но я то же самое написал. Тем не менее спасибо - person Vyacheslav; 14.08.2017