Спасибо, что прочитали мой вопрос, пожалуйста, прочитайте его терпеливо. Сценарий немного отличается от обычного приложения для Android.
Я создаю свой собственный лаунчер для Android TV. У меня есть полное разрешение на запуск моего приложения в качестве системного приложения.
У меня есть свой лаунчер, в котором я размещаю виджеты. В Android обычно мы размещаем виджеты, перетаскивая их на главный экран, но в моем случае мне нужно разместить все виджеты, как только запустится лаунчер. Я могу успешно разместить все виджеты. Пользователю не разрешено изменять положение виджетов или удалять какие-либо виджеты. Все виджеты исправлены.
Теперь требование примерно такое,
Для Android TV у меня есть дистанционное управление для доступа ко всем виджетам, приложениям и т. д. Вместо сенсорного экрана у меня есть дистанционное управление для доступа ко всему.
На главном экране/лаунчере, где у меня есть все виджеты, мне нужно реализовать пространственную навигацию. то есть мне нужно перемещаться по всем виджетам с помощью удаленной клавиши влево/вправо/вверх/вниз.
В качестве решения я сделал следующие вещи:
Я обработал onFocusChangeListener для прослушивания события изменения фокуса, а также обработал onClickListener для обработки события onClick.
При смене фокуса и клике я отправляю трансляцию каждому виджету вместе с дополнительными данными, т.е. got_focus, lost_focus или clicked. В каждом виджете у меня есть приемник, который принимает трансляцию, и в зависимости от состояния виджет меняет свое фоновое изображение. Я поместил журнал в каждый из моих приемников. Все приемники получают свои соответствующие широковещательные сообщения, но проблема в том, что поведение при изменении состояния не является согласованным. Иногда виджеты меняют состояния, а иногда нет, даже если они получают широковещательную рассылку.
Итак, я хочу знать, есть ли другой способ сделать это поведение последовательным. Кто-нибудь, кто работал с лаунчером и сталкивался с таким же сценарием, пожалуйста, помогите мне. Я застрял в этой части за последние 3 дня. Есть ли другой способ обновить фоновое изображение виджетов из лаунчера.
Спасибо, что терпеливо прочитали. Любая помощь будет оценена по достоинству.
Спасибо еще раз.