我可以在我的应用的通知栏中输入一个条目,但我想在状态栏中为我的应用制作一个图标,其中显示电池,Wi-Fi,蓝牙,时间图标。 我已经搜索了这个,但得到了这么多 - 它不能仅从应用程序控制,同时构建android,在android源代码的框架目录中的某些地方我们必须放置一些行来完成它, 我不知道它是如何管理的。
答案 0 :(得分:2)
抱歉,我没有足够的声誉将其添加为评论,但您是否看过类似的问题?您可以为所需的图标添加可绘制资源,并在通知上设置标记,以便允许图标保留在状态栏中。 FLAG_NO_CLEAR
和FLAG_ONGOING_EVENT
可以让您在状态栏中显示图标,因为这些问题的答案都是如此。
How to show an icon in the status bar when application is running, including in the background?
controlling the android status bar icon
如果您有完整的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>
默认情况下添加到状态栏
的插槽值希望这有帮助