具有自定义文件系统

时间:2016-06-14 02:28:59

标签: android usb

我使用Android Storage Access Framework API访问插入android的外部大容量存储usb驱动器。

我的问题是,如果usb驱动器包含文件格式的内容未被android理解,我是否仍然可以访问外部USB驱动器上的文件?

我是否可以编写自己的低级函数来访问android Storage Access FrameWork不知道文件格式的驱动器?

让我说我出于安全原因创建了自己的驱动器格式,Android将如何显示用户显示文件内容的对话框,以便他们可以选择一个文件,授予应用程序访问该文件的权限,它不知道文件的格式驱动器?

由于

1 个答案:

答案 0 :(得分:0)

  

如果usb驱动器包含文件格式的内容未被android理解,我仍然可以访问外部USB驱动器上的文件吗?

是的。

  

我是否可以编写自己的低级函数来访问android Storage Access FrameWork不知道文件格式的驱动器?

您必须使用低级USB APIs编写自己的USB驱动程序(正如您所说,Android不知道如何读取您的USB驱动器)

  

让我说我出于安全原因创建了自己的驱动器格式,Android将如何显示用户显示文件内容的对话框,以便他们可以选择一个文件,授予应用程序访问该文件的权限,它不知道文件的格式驱动器?

DocumentsProvider API中没有任何内容控制从磁盘读取文件的方式(如果它们甚至是从磁盘读取的 - 在很多情况下,就像使用Google Drive DocumentsProvider一样,它们是从远程服务器读取的)。只要通过queryRoots()为根发回Cursor来完成API,就可以Cursor使用queryDocument()中的正确字段获取单个文档和Cursor使用queryChildDocuments()中的文档列表,然后存储访问框架将正确列出您的文件。

请确保您提供有效的ParcelFileDescriptoropenDocument(),以允许对您的自定义文件格式系统进行读/写访问。