アプリの通知バーにエントリを作成できますが、バッテリー、Wi-Fi、Bluetooth、時間のアイコンが表示されるステータスバーにアプリのアイコンを作成したいと考えています。私はこれについて検索しましたが、これだけを得ました-アプリからのみ制御することはできません.Androidをビルドしている間、Androidソースコードのフレームワークディレクトリのどこかに、それを完了するためにいくつかの行を配置する必要があります.それがどのように管理されているかについての手がかりはありません。
1 に答える
申し訳ありませんが、これをコメントとして追加するのに十分な評判がありませんが、これらのような同様の質問を見たことがありますか?. 必要なアイコンの描画可能なリソースを追加し、通知にフラグを設定して、アイコンがステータスバーに残るようにすることができます。FLAG_NO_CLEAR
これらの質問への回答で説明されているように、アイコンを FLAG_ONGOING_EVENT
ステータスバーに表示することができます。
バックグラウンドを含め、アプリケーションの実行中にステータスバーにアイコンを表示する方法は?
AOSP を完全にチェックアウトしている場合は、StatusBarManager サービスをチェックアウトすることをお勧めします。通知は、通知を表示するときに、このサービス内でコールバックを使用します。アイコンを設定できるバインダーインターフェースもあります。
/frameworks/base/services/java/com/android/server/StatusBarManagerService.java および /frameworks/base/core/java/com/android/internal/statusbar/IStatusBarService.aidl 内
void setIcon(String slot, String iconPackage, int iconId, int iconLevel, String contentDescription);
void setIconVisibility(String slot, boolean visible);
/frameworks/base/core/res/res/values/config.xml 内
<item><xliff:g id="id">ime</xliff:g></item>
<item><xliff:g id="id">sync_failing</xliff:g></item>
<item><xliff:g id="id">sync_active</xliff:g></item>
<item><xliff:g id="id">gps</xliff:g></item>
<item><xliff:g id="id">bluetooth</xliff:g></item>
<item><xliff:g id="id">nfc</xliff:g></item>
<item><xliff:g id="id">tty</xliff:g></item>
<item><xliff:g id="id">speakerphone</xliff:g></item>
<item><xliff:g id="id">mute</xliff:g></item>
<item><xliff:g id="id">volume</xliff:g></item>
<item><xliff:g id="id">wifi</xliff:g></item>
<item><xliff:g id="id">cdma_eri</xliff:g></item>
<item><xliff:g id="id">data_connection</xliff:g></item>
<item><xliff:g id="id">phone_evdo_signal</xliff:g></item>
<item><xliff:g id="id">phone_signal</xliff:g></item>
<item><xliff:g id="id">battery</xliff:g></item>
<item><xliff:g id="id">alarm_clock</xliff:g></item>
<item><xliff:g id="id">secure</xliff:g></item>
<item><xliff:g id="id">clock</xliff:g></item>
これらは、デフォルトでステータスバーに追加されるスロットの値です
お役に立てれば