2

私は他の誰かのコードを修正しようとしていますが、できるだけ少ないmodを使用したいと思っています。プロジェクトはウィジェットです。コードの設計方法では、ウィジェットの複数のインスタンスをホーム画面に追加できます。ウィジェット内のアクションのブロードキャストを受信し、それに応じてブロードキャストを処理するサービスがあります。

HashMapウィジェットには複数のインスタンスが存在する可能性があるため、サービスは、ウィジェットIDを実際のウィジェットにマッピングすることでインスタンスを追跡します。これは、サービスが強制終了されるまで(通常はタスクマネージャーから)非常にうまく機能します。次回ウィジェットがブロードキャストを送信すると、サービスが再起動されます(再起動の方法を理解するのにあまり時間をかけていませんが、再起動します)。ただし、サービスを強制終了/再起動すると、ウィジェットIDから実際のウィジェットへのマップがクリアされるため、サービスはどのウィジェットがブロードキャストを送信しているかを認識せず、何もしません。

この状況を管理するための最良の方法は何でしょうか?どういうわけか地図を保存/復元しますか?

4

0 に答える 0