Android TileService onStartListening сразу не вызывается?

В документации Android TileService говорится следующее:

Когда плитка должна быть обновлена ​​и список будет обозначен onStartListening() и onStopListening().

Основываясь на жизненном цикле TileService, предполагается, что вы НАЧИНАете обновлять состояние своих плиток, когда onStartListening() называется.

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

Примером этого может быть служба "Подключена", на плитке она отображается как подключенная. Затем я переключаюсь на приложение, выключаю службу и снова открываю представление быстрых настроек. Он по-прежнему показывает услугу как подключенную в течение длительного времени.

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

Я подтвердил, что это так, просто добавив сообщение журнала в качестве первой записи в представлении. Когда я помещаю плитку в представление пользователей, это сообщение журнала не записывается в журнал cat дольше 4-5 секунд.

Так что же происходит? Я что-то пропустил?

Мой код

@Override
public void onStartListening() {
    android.util.Log.d("Test", "onStartListening called");
    updateTileDisplay();
    registerDelegate();
}

В updateTileDisplay();функция обновляет заголовок, состояние и значок для плитки. По завершении он вызываетtile.updateTile();как и должно быть. Кроме того,registerDelegate();Функция регистрирует делегата, который будет отслеживать изменения внутреннего состояния и соответственно обновлять плитку. Этот делегат позже удаляется, когдаonStopListening() называется.

Я не вижу этого onStartListening calledсообщение журнала в течение более 5 секунд после того, как я открыл свою плитку. Кажется, это не соответствует документации TileService.

0 ответов

Другие вопросы по тегам