私の質問を読んでくれてありがとう、辛抱強く読んでください。シナリオは、通常のAndroidアプリケーションとは少し異なります。
AndroidTV用に独自のランチャーを作成しています。アプリケーションをシステムアプリとして実行するための完全な権限があります。
ウィジェットを配置する独自のランチャーがあります。Androidでは通常、ホーム画面にドラッグアンドドロップしてウィジェットを配置しますが、私の場合、ランチャーが起動したらすぐにすべてのウィジェットを配置する必要があります。すべてのウィジェットを正常に配置できます。ユーザーはウィジェットの位置を変更したり、ウィジェットを削除したりすることはできません。すべてのウィジェットが修正されました。
今の要件はこのようなものです、
Android TVの場合、すべてのウィジェットやアプリなどにアクセスするためのリモコンがあります。タッチスクリーンの代わりに、すべてにアクセスするためのリモコンがあります。
すべてのウィジェットがあるホーム画面/ランチャーでは、空間ナビゲーションを実装する必要があります。つまり、リモートの左/右/上/下キーを使用してすべてのウィジェットをナビゲートする必要があります。
解決策として、私は次のことを行いました。
フォーカス変更イベントをリッスンするためにonFocusChangeListenerを処理し、onClickイベントを処理するためにonClickListenerも処理しました。
フォーカスの変更とクリックで、追加のデータ(got_focus、lost_focus、またはclicked)とともに、各ウィジェットにブロードキャストを送信します。各ウィジェットには、ブロードキャストを受信する受信機があり、状態に応じて、ウィジェットは背景画像を変更します。各レシーバーにLogを入れました。すべての受信者はそれぞれのブロードキャストを受信しますが、問題は状態を変更する動作が一貫していないことです。ウィジェットが状態を変更することもありますが、ブロードキャストを受信しても変更しないこともあります。
したがって、この動作を一貫させる他の方法があるかどうかを知りたいと思います。ランチャーに取り組んでいて、同じシナリオに出くわしたことがある人は、私を助けてください。私は過去3日間からこの部分で立ち往生しています。ランチャーからウィジェットの背景画像を更新する他の方法はありますか?
辛抱強く読んでくれてありがとう。どんな種類の助けもいただければ幸いです。
再度、感謝します。