我的应用程序使用UsbManager
与 USB 摄像头通信。有些设备不支持 USB。这些将返回null
for (UsbManager)context.getSystemService( Context.USB_SERVICE )
,或者他们会抛出一个NoSuchMethodError
枚举设备时出现异常。我可以检测到两者并正确显示消息。不幸的是,一些不检测 USB 设备的 Android 系统不会导致这些问题。他们只是返回一个空的 USB 设备列表。如何正确检测该系统不支持USB OTG?
确定设备是否具有 USB 主机功能的官方方法是使用关联的系统功能。
理想情况下,添加一个<uses-feature>
元素添加到您的清单中,表明您对此感兴趣android.hardware.usb.host
特征。如果您不是绝对需要该功能,请添加android:required="false"
作为属性。
如果你和android:required="false"
,并且您想在运行时确定设备是否是 USB 主机,请使用PackageManager
, hasSystemFeature(), and FEATURE_USB_HOST. FEATURE_USB_HOST
被定义为与您将使用的字符串相同的字符串<uses-feature>
(android.hardware.usb.host
).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)