Android 设备无法识别带有 FTDI 芯片的连接硬件

问题描述 投票:0回答:2

我制作了一个 Android 应用程序,可以通过 FTDI 230X 芯片与定制硬件进行通信。该应用程序工作正常并与连接的设备通信。但在某些手机/平板电脑上,它不起作用,因为 Android 设备无法识别通过 OTG 连接的设备,即使手机/平板电脑支持 OTG。该应用程序在至少 12 种不同的 Android 版本 4.0 或更高版本的设备上进行了测试。也许其中一半的应用程序工作正常并识别连接的硬件,而另一半则看不到连接的设备。

我无法理解导致此问题的原因,因为应用程序正在使用 USB 主机 API。我还使用 root 和 unroot 设备进行了测试,因此它不依赖于此。

有人知道我还应该尝试或检查什么吗?或者这个问题取决于 Android 设备制造商,他们在构建操作系统时没有包含对 FTDI 芯片的驱动程序支持?

android usbserial ftdi
2个回答
2
投票

应用程序是否验证手机/平板电脑是否支持 USB 主机?即使在宣言声明之后也要添加此验证。验证的方法是使用包管理器:

PackageManager pm = getActivity().getPackageManager();
boolean isUSBhost = pm.hasSystemFeature(PackageManager.FEATURE_USB_HOST);

如果手机/平板电脑支持主机功能,则 isUSBhost 将为 TRUE,否则为 FALSE。该代码可以放置在应用程序启动时(即活动),并且结果可用于指导后续流程。


0
投票

是否有任何针对 FTDI 在某些移动设备中未检测到的解决方案,因为在我看来,它在 Google Pixel 手机中未检测到。

© www.soinside.com 2019 - 2024. All rights reserved.