从隐式意图返回文件路径
Returning FilePath from Implicit-Intent
要启动文件管理器应用程序以便用户可以选择他们想要打开的文件,我使用以下代码:
Intent pickFile = new Intent(Intent.ACTION_GET_CONTENT);
pickFile.setType("file/*");
pickFile.addCategory(Intent.CATEGORY_OPENABLE);
if (pickFile.resolveActivity(getPackageManager()) != null) {
startActivityForResult(pickFile,FILE_REQUEST_CODE);
} else{
Toast.makeText(getApplicationContext(),"Did not start intent",Toast.LENGTH_SHORT).show();
return;
}
工作正常。但文件管理器在根目录中打开。
对于用户来说,这需要点击太多次才能获得所需的文件。
那么有什么方法可以从不同的文件夹而不是根目录启动 Intent 吗?此外,Android Developer Guide 似乎没有提供解决方案。
这样试试
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
Uri uri = Uri.parse(Environment.getExternalStorageDirectory().getPath()
+ "/yourFolder/");
intent.setDataAndType(uri, "*/*");
startActivityForResult(Intent.createChooser(intent, "Open folder"),FILE_REQUEST_CODE);
要启动文件管理器应用程序以便用户可以选择他们想要打开的文件,我使用以下代码:
Intent pickFile = new Intent(Intent.ACTION_GET_CONTENT);
pickFile.setType("file/*");
pickFile.addCategory(Intent.CATEGORY_OPENABLE);
if (pickFile.resolveActivity(getPackageManager()) != null) {
startActivityForResult(pickFile,FILE_REQUEST_CODE);
} else{
Toast.makeText(getApplicationContext(),"Did not start intent",Toast.LENGTH_SHORT).show();
return;
}
工作正常。但文件管理器在根目录中打开。
对于用户来说,这需要点击太多次才能获得所需的文件。
那么有什么方法可以从不同的文件夹而不是根目录启动 Intent 吗?此外,Android Developer Guide 似乎没有提供解决方案。
这样试试
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
Uri uri = Uri.parse(Environment.getExternalStorageDirectory().getPath()
+ "/yourFolder/");
intent.setDataAndType(uri, "*/*");
startActivityForResult(Intent.createChooser(intent, "Open folder"),FILE_REQUEST_CODE);