我偶尔会看到提到的android.hardware.usb.action.USB_STATE
广播,据说携带了一些USB状态信息。
它似乎不是官方Android API的一部分。上面有任何文档,特别是支持的附加列表?
来自platform_frameworks_base/core/java/android/hardware/usb/usbmanager.java:
常数用@UnsupportedAppUsage
标记,表明它并不是要暴露于应用程序/使用的。这可能意味着不能保证在版本中保持稳定。
另外,意图似乎表示USB链接到主机的状态,而不是USB OTG状态。
UsbManager
的Javadoc说:
此类允许您访问USB状态并与USB设备进行通信。目前仅在公共API中支持主机模式。
和ACTION_USB_STATE
:
广播动作:在设备模式下为USB状态变更事件的粘性广播。
这是针对包括USB连接/断开状态的客户的粘性广播,
"connected"
布尔值指示USB是连接还是断开连接。"host_connected"
布尔值指示USB是连接还是断开主机。"configured"
布尔值指示是否配置了USB。当前零(如果未配置),一个用于配置。"adb"
布尔值额外指示是否启用了ADB功能"rndis"
布尔值额外指示是否启用了rndis以太网函数"mtp"
布尔值额外指示是否启用了MTP功能USB_FUNCTION_PTP
布尔值额外指示是否启用了PTP功能"ptp"
布尔值额外指示是否启用了附件函数"audio_source"
布尔值额外指示是否启用了音频源功能"midi"
布尔值额外指示是否启用了MIDI功能如果尚未找到粘性意图,则表明USB已断开连接,未配置USB,启用MTP函数,并且所有其他功能均被禁用。