Android 文件选择器的意图
我可以找到一些非常旧的文件选取器示例,但我认为现在可以使用更为最新的Android 文件选择器的意图,android,filepicker,Android,Filepicker,我可以找到一些非常旧的文件选取器示例,但我认为现在可以使用更为最新的Intent来完成 我想加载和保存文件。它将是一个文本文件,但扩展名为.mfl(我正在使用的文件扩展名) 我看过一些人的图像代码(但只是用于加载): 在setType中我需要什么才能只查看我的.mfl文件? 我已经有一个onActivityResult在做其他事情,所以需要创建自己的请求代码。我在想 int PICK_MYFILE_REQUEST = 1001; 因此,我认为我的onActivityResult需要如下所示:
Intent
来完成
我想加载和保存文件。它将是一个文本文件,但扩展名为.mfl
(我正在使用的文件扩展名)
我看过一些人的图像代码(但只是用于加载):
在setType
中我需要什么才能只查看我的.mfl文件?
我已经有一个onActivityResult
在做其他事情,所以需要创建自己的请求代码。我在想
int PICK_MYFILE_REQUEST = 1001;
因此,我认为我的onActivityResult
需要如下所示:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(/* doing my other stuff */){
} else if (requestCode == PICK_MYFILE_REQUEST && resultCode == RESULT_OK && data != null && data.getData() != null) {
Uri uri = data.getData();
try {
/* load the file */
} catch (IOException e) {
e.printStackTrace();
}
}
}
正如你们所看到的,我想我可能就快到了,但不完全确定我该做什么。(我是Android新手——我想你可以猜到。)
这大致正确吗?我需要做什么才能让它正常工作?
另外,如何修改此对话框以获得文件保护程序对话框?尝试此操作:
Intent intent = new Intent();
intent.setType("application/pdf");
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); // temp permission for receiving app to read this file
对于自定义类型,您可以使用
应用程序/mfl
,因此您的目的应该是:
//Use ACTION_OPEN_DOCUMENT to get read/write permission
Intent intent = new Intent(Intent.Intent.ACTION_OPEN_DOCUMENT);
//"application/mfl" to request only .mfl files
intent.setType("application/mfl");
//Request readable files
intent.addCategory(Intent.CATEGORY_OPENABLE)
startActivityForResult(Intent.createChooser(intent, "Select File"),PICK_MYFILE_REQUEST);
//Use ACTION_OPEN_DOCUMENT to get read/write permission
Intent intent = new Intent(Intent.Intent.ACTION_OPEN_DOCUMENT);
//"application/mfl" to request only .mfl files
intent.setType("application/mfl");
//Request readable files
intent.addCategory(Intent.CATEGORY_OPENABLE)
startActivityForResult(Intent.createChooser(intent, "Select File"),PICK_MYFILE_REQUEST);