gpt4 book ai didi

android - 如何判断 Android 手机或平板是否支持 Android Open Accessory (AOA) 协议(protocol)?

转载 作者:搜寻专家 更新时间:2023-11-01 08:00:44 41 4
gpt4 key购买 nike

我正在开发一个应用程序来使用 Android Open Accessory (AOA) 协议(protocol)连接配件。

我使用手机 (Android 4.2.2) 或平板电脑 (Android 4.1) 测试应用程序。这两种设备都有 USB Micro-B socket ,而附件有 USB A 型 socket 。我使用 Micro-B 插头转 USB-A 插头电缆将前面提到的任何一款 Android 设备与配件连接起来。

一旦附件连接到手机或平板电脑,该应用程序就会弹出。

它在手机上按预期工作,但在平板电脑上却没有。在花费大量时间调试此问题后,我发现平板电脑可能不支持 AOA 协议(protocol)。 (仅供引用:该表支持OTG模式)。

因此我的问题是:

1) 有没有人遇到过可以判断设备是否支持 AOA 的应用程序?2) 有谁知道在 Android 设备上检测 AOA 支持的编程方式吗?

预先感谢社区成员即将提供的帮助。

附言我已经阅读了关于类似问题的答案 -1) How to tell if an Android device has Open Accessory Mode2) Does the Acer Iconia Tab A500 support Accessory mode?3) What Android Tablet Currently Supports Accessory Mode for ADK Development4) Which android devices support the ADK / open accessory- 没有任何结果。

最佳答案

我找到了答案。可以对 Android 应用程序进行编程以检测是否支持 USB 配件模式。诀窍是使用 android PackageManager 来验证手机或平板电脑上是否存在 FEATURE_USB_ACCESSORY。下面给出了相关的代码 fragment :

        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();
}

如问题中所述,此代码在手机和平​​板电脑上进行测试。手机显示消息“支持 USB 附件”,而平板电脑显示“不支持 USB 附件”。

关于android - 如何判断 Android 手机或平板是否支持 Android Open Accessory (AOA) 协议(protocol)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21635584/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com