代码路径:
frameworks\base\packages\SystemUI\res\layout\system_icons.xml
frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\phone\CollapsedStatusBarFragment.java
在system_icons.xml中加入USB图标的UI:
<ImageView
android:id="@+id/icon_usb"
android:paddingStart="@dimen/status_bar_padding_start"
android:layout_width="@dimen/status_bar_icon_size"
android:layout_height="@dimen/status_bar_icon_size"
android:src="@drawable/ic_usb_white_24dp"
android:scaleType="center"
android:visibility="gone"
android:paddingEnd="@dimen/signal_cluster_battery_padding"/>
在CollapsedStatusBarFragment.java中加入USB图标的逻辑:
import android.hardware.usb.UsbManager;
private ImageView mIconUsb;
mIconUsb = mStatusBar.findViewById(R.id.icon_usb);
IntentFilter filter = new IntentFilter();
filter.addAction(MUSIC_STATUSBAR);
filter.addAction(MUSIC_START);
filter.addAction(MUSIC_END);
filter.addAction(UsbManager.ACTION_USB_DEVICE_ATTACHED);
filter.addAction(UsbManager.ACTION_USB_DEVICE_DETACHED);
getContext().registerReceiver(mBroadcastReceiver,filter);
private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
switch(intent.getAction()){
case MUSIC_STATUSBAR:
mHeadUpMusic.setVisibility(View.VISIBLE);
mIconMusic.setVisibility(View.VISIBLE);
String string = (String) intent.getStringExtra("Music_Status");
updateHeadUpMusic(string);
break;
case MUSIC_START:
mHeadUpMusic.setVisibility(View.VISIBLE);
mIconMusic.setVisibility(View.VISIBLE);
String string1 = (String) intent.getStringExtra("StatusBar_Music_Msg");
updateHeadUpMusic(string1);
break;
case MUSIC_END:
mHeadUpMusic.setVisibility(View.GONE);
mIconMusic.setVisibility(View.GONE);
Log.i("MUSIC_END","GONE");
break;
case UsbManager.ACTION_USB_DEVICE_ATTACHED:
mIconUsb.setVisibility(View.VISIBLE);
break;
case UsbManager.ACTION_USB_DEVICE_DETACHED:
mIconUsb.setVisibility(View.GONE);
break;
}
}
};
本文详细介绍如何在Android系统状态栏中集成USB图标,包括修改system_icons.xml文件以添加USB图标资源,以及在CollapsedStatusBarFragment.java中实现USB设备连接与断开的逻辑响应。
636

被折叠的 条评论
为什么被折叠?



