gpt4 book ai didi

android - 在 Android 上写入 USB 笔驱动器需要什么权限?

转载 作者:行者123 更新时间:2023-12-01 22:28:10 26 4
gpt4 key购买 nike

在我的应用程序中,我需要在 USB 笔驱动器上写入文件。在三星 Tab 4 上,我的阅读和书写都没有任何问题。我的应用程序运行良好。

在华硕 Zenpad 10 上,情况有所不同......我从 USB 笔驱动器读取数据没有问题。相反,我在编写时拒绝访问,即在代码中出现异常:

 try {
fOut = new FileOutputStream("/storage/USBdisk/prova.bin");
} catch (FileNotFoundException e) {
e.printStackTrace();
return;
}

在我的 androidManifest 中,权限定义为:

 <uses-permission android:name="android.permission.READ_INTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE"/>

我需要做什么?

最佳答案

在研究其他来源后,我发现了这个..它可能对您有帮助!

由于串行转换器是 USB 设备,因此 Android 平板电脑必须充当 USB 主机。此功能自 Android 3.1 起可用。 API 文档可在 Android 开发人员页面上找到,并包含代码示例。

要与转换器实际通信,您必须更多地了解其内部结构:市场上有许多不同的设备,一些使用 USB HID,另一些使用 USB CDC 设备类别,或者甚至不符合任何要求类(class)。 linux lsusb 命令可能有助于获取设备/接口(interface)描述符。

在典型的 CDC 设备上,您必须与两个批量端点进行交互,并可能使用一些与接口(interface)相关的请求来设置波特率等。请参阅 USB 实现者论坛上的通信设备类规范。

如果您的设备只有一个 IN 和一个 OUT 批量端点(除了控制端点之外),您可以尝试在 OUT 端点上使用 UsbDeviceConnection.bulkTransfer() 方法将一些字节写入串行线路。这很有可能会起作用,但是为了干净的实现,您应该坚持类规范。

关于android - 在 Android 上写入 USB 笔驱动器需要什么权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34440051/

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