在我的应用中,我正在使用SAF创建文件并向其中写入一些数据。我要求用户输入名称,然后将一些数据保存到文件中。同样,我让用户从存储中选择文件并从中读取一些数据。我想使用我的自定义文件扩展名“ .xyz”来做到这一点。
我发现了多个带有意图过滤器的资源,但是我对意图过滤器的了解是,它们可以帮助您使用某些应用程序打开文件。单击文件后,我不想打开我的应用程序。我只想从应用程序内访问/读取文件。
当前可以保存扩展名为.xyz的文件。但无法阅读。我在意图过滤器中添加了以下代码
<data android:host="*" android:scheme="file" android:mimeType="text/plain" android:pathPattern=".*\\.xyz"/>
这是我读取文件的方式:
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("text/*");
startActivityForResult(intent, READ_REQUEST_CODE);
当文件浏览器打开以选择要读取的文件时,目标扩展名.xyz文件变得模糊。
答案 0 :(得分:1)
将text/*
替换为*/*
。
Android对自定义文件扩展名的贡献很小,就像Web对自定义文件扩展名的贡献很小。特别是,由于Android没有针对自定义文件扩展名的MIME类型,因此text/*
将与之不匹配。