Обновление виджета Sony Smartwatch

У меня проблема с приложением Sony SmartWatch. Я разработал виджет с управлением, но после того, как приложение установлено пользователями на устройстве, автоматически запускается запланированная задача обновления виджета. Это означает, что задача обновления выполняется постоянно, даже если пользователь не включил SmartWatch Display или не запустил виджет. Это разряжает батарею. Если я перейду к экрану виджета, а затем выключу дисплей, запланированная задача остановится, как и ожидалось. Но если я этого не сделаю, задача будет работать, работать и работать... Как я могу определить, включен ли дисплей и работает ли виджет?

Большое спасибо!

P.S.: Не имеет значения, установлен ли флажок «Активировать виджет» или нет....

РЕДАКТИРОВАТЬ: я обнаружил, что исходный код виджета не срабатывает, если я сниму флажок «Отображать как виджет» в настройках. Это означает, что если расписание обновления запущено и я снимаю этот флажок, onDestroy никогда не вызывается, и поэтому расписание отмены также не....


person user980175    schedule 18.09.2012    source источник


Ответы (1)


Спасибо. Я думаю, вы обнаружили плохое поведение хост-приложения SmartWatch или, другими словами, ошибку.

После установки хост-приложение отправляет START_REFRESH_IMAGE_REQUEST, чтобы иметь возможность кэшировать информацию о виджете. Однако он не вызывает STOP_REFRESH_IMAGE_REQUEST, что, вероятно, следовало бы. Это нужно расследовать.

Пока мы расследуем это плохое поведение, вы должны попытаться найти обходной путь для решения проблемы. Например. у вас может быть глобальная статическая переменная или SharedPreference, которая используется для отслеживания момента отправки первого сигнала START_REFRESH и, таким образом, может остановить цикл обновления.

Еще раз спасибо и извините.

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

person Jerker    schedule 20.09.2012