以编程方式检测Android中USB连接的类型



是否可以通过编程检测usb连接的类型,无论是仅充电、MTP、PTP等。

我知道如何检测它是否连接,几乎每个线程都在谈论这一点。我试图找到一些Intent事件来注册接收器,但找不到任何合适的事件。

注意:我不想以编程方式更改它,这是不允许的。我想在安卓6之后,我只想鼓励用户在检测到它之后这样做。

例如,如果您想在mtp模式下接收到与计算机的设备连接事件,您可以使用此

override fun onReceive(context: Context?, intent: Intent?) {
intent?.apply {
if (action == "android.hardware.usb.action.USB_STATE") {
extras?.apply {
if (getBoolean("connected") && getBoolean("mtp")) {
// your code here
}
}
}
}
}

更多信息请点击此处https://cs.android.com/android/platform/superproject/+/master:frameworks/base/core/java/android/hardware/usb/UsbManager.java;l=70;drc=a4812d3c587a10bd9f4b76a26b174df92ee8abb6

最新更新