状态栏添加图标

关于在状态栏添加类似wifi,蓝牙那样图标,这种需求一般是通过广播来实现的,点击应用UI里的开关发送广播,这个广播由


\android\frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\phone\PhoneStatusBarPolicy.java这个类中83行的BroadcastReceiver内部类来实现,需要添加一个广播动作的判断,在这个else if判断模块里写是否显示图标代码;在这之前需要在注册广播的时候给filter添加相应的动作,还在这之前需要在PhoneStatusBarPolicy的构造方法里添加默认不让图标显示的初始化代码:
mService.setIcon(SLOT_FM_SEND, R.drawable.stat_sys_fmsend, 0, null);
        mService.setIconVisibility(SLOT_FM_SEND, false);
代码中所需的资源图片应该放在 \android\device\actions\s700_cb6\overlay\frameworks\base\packages\SystemUI\res\drawable-hdpi\目录下
另外,还有最重要的一步是要到android\frameworks\base\core\res\res\values\目录下的config.xml文件中的
config_statusBarIcons数组中添加SLOT_FM_SEND对应的字符串这个id,请注意

是放自定义变量SLOT_FM_SEND所对应的字符串,不是放SLOT_FM_SEND这个变量


以上涉及到的目录以自己的项目目录为准,平台

你可能感兴趣的:(IT,Android)