2016-10-28 8 views
0

私のアプリは複数のクライアント接続を受け入れることができ、このクライアントからのアクティビティを示す小さなインジケータで各接続のステータスバーアイコンを表示します。Androidに同じ通知アイコンのすべてのコピーを表示させる

たとえば、2つのクライアントが接続されている場合、クライアントの状態を示す2つのステータスバーアイコンを表示したいとします。

今私は標準Notificationsを使用しています。そのためには、必要に応じてupdateiconLevelが必要です。

アイスクリームサンドの携帯電話ではすべてがうまく動作しますが、すべてのアイコンが同じ状態を示すときは、Lollipopタブレットはアイコンの1つを除くすべてを削除します。両方のクライアントがアイドル状態のとき一方のクライアントがアイドルであり、他方のクライアントがアクティビティを有する場合、すなわち2つのアイコンが同じでない場合、両方のアイコンが示される。また、トレイを開くと、同じアイコンが表示されているかどうかにかかわらず、両方の通知が常に表示されます。

この重複アイコンの崩壊を防ぐ手段はありますか?

答えて

0

がハックジョブが判明...私は、各アイコンの全てを見(ほとんど?)同じ画像の異なるセットを使用することができると思いますが、私はよりエレガントな解決策を望んでいます私が避けたかった解決策は、であり、結局はが悪いです。

私は自分のイメージの異なるバージョン、あるいは複数の同一のコピーを出荷する必要はありません。 LevelListDrawableを定義するXMLファイルの複数のコピーを作成し、各アイコンに異なるファイルを使用するだけで十分です。すべてのLevelListDrawablesが同じ画像ファイルを参照することはOKです。

つまり、resource IDs for their iconsiconLevelsが同じ場合は、ステータスバーのアイコンが折りたたまれます(一部のプラットフォームでは)。

これはまだかなり醜い解決策ですので、私はこれを最終的な回答として間違いなく受け入れます。うまくいけば、これを行うためのよりクリーンな方法があります。

関連する問題