USB_STATE广播的附加功能

时间:2019-03-05 23:51:41

标签: android usb

我偶尔会看到有人提到android.hardware.usb.action.USB_STATE广播,据说其中包含一些USB状态信息。

它似乎不是官方Android API的一部分。是否有任何文档,特别是受支持的其他功能列表?

1 个答案:

答案 0 :(得分:0)

来自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功能并已禁用所有其他功能。