Android M USB流程
在最新AndroidM上,由之前的USBSettings界面变换为了UsbModeChooserActivity界面,具体的显示样式是一个Diag,可以看oncreate方法。
UsbModeChooserActivity.java
builder.setSingleChoiceItems(items, getCurrentFunction(),
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (!ActivityManager.isUserAMonkey()) {
setCurrentFunction(which);
}
dialog.dismiss();
UsbModeChooserActivity.this.finish();
}
});
在这里可以看到两个方法getCurrentFunction()和setCurrentFunction(which),作用分别是用来得到Item的index和设置function。具体的调用流程以后者来简单介绍下。
1.UsbModeChooserActivity -> setCurrentFunction()
2.UsbManager -> setCurrentFunction