Sun*_*nGa 2 usb android android-open-accessory
我正在开发一个应用程序来使用 Android 开放配件 (AOA) 协议连接配件。
我使用手机 (Android 4.2.2) 或平板电脑 (Android 4.1) 测试该应用程序。这两种设备均具有 USB Micro-B 插座,而配件则具有 USB A 型插座。我使用Micro-B 插头转 USB-A 插头电缆将前面提到的任何一台 Android 设备与 Accessory 连接。
一旦配件连接到手机或平板电脑,该应用程序就会弹出。
它在手机上按预期工作,但在平板电脑上却不然。在花费大量时间调试此问题后,我发现平板电脑可能不支持 AOA 协议。(JFYI:该表支持 OTG 模式)。
因此我的问题是:
1)有没有人遇到过可以告知设备是否支持AOA的应用程序?2)有谁知道在Android设备上检测AOA支持的编程方法吗?
预先感谢社区成员即将提供的帮助。
PS 我已经阅读过类似问题的答案 - 1)如何判断 Android 设备是否具有开放配件模式 2) Acer Iconia Tab A500 支持配件模式吗? 3)目前哪些 Android 平板电脑支持 ADK 开发的配件模式 4)哪些 Android 设备支持 ADK/开放配件 - 没有任何结果。
我找到了答案。可以对 Android 应用程序进行编程以检测是否支持 USB 配件模式。诀窍是使用 android PackageManager 来验证 FEATURE_USB_ACCESSORY 是否存在于手机或平板电脑上。下面给出了相关的代码片段:
PackageManager pm;
pm = getActivity().getPackageManager();
boolean isUSBAccessory = pm.hasSystemFeature(PackageManager.FEATURE_USB_ACCESSORY);
if(!isUSBAccessory){
Toast.makeText(getActivity(), "USB Accessory not supported", Toast.LENGTH_SHORT).show();
}else {
Toast.makeText(getActivity(), "USB Accessory supported", Toast.LENGTH_SHORT).show();
}
Run Code Online (Sandbox Code Playgroud)
正如问题中提到的,此代码在手机和平板电脑上进行了测试。手机会提示“USB 配件支持”消息,而平板电脑则会提示“USB 配件不支持”。
| 归档时间: |
|
| 查看次数: |
6476 次 |
| 最近记录: |