我想在android中打开一个特定的文件夹?是否可以打开一个特定的文件夹????这是我使用的代码
config=(Button)findViewById(R.id.btn_cf);
config.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
Intent intent = new Intent("Intent.ACTION_GET_CONTENT");
Uri uri = Uri.parse("mnt/sdcard/myfiles/allfiles/download");
intent.setDataAndType(uri, "*/*");
startActivity(Intent.createChooser(intent, "download"));
}
});
答案 0 :(得分:8)
public void openFolder()
{
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
Uri uri = Uri.parse(Environment.getExternalStorageDirectory().getPath()
+ "/myFolder/");
intent.setDataAndType(uri, "text/csv");
startActivity(Intent.createChooser(intent, "Open folder"));
}
其他MIME类型如"*/*"
也是可能的。
答案 1 :(得分:1)
尝试用此行替换您的代码
btn.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
Uri uri = Uri.parse(Environment.getExternalStorageDirectory().getPath()
+ "/myFolder/");
intent.setDataAndType(uri, "text/csv");
startActivity(Intent.createChooser(intent, "Open folder"));
}
});
答案 2 :(得分:1)
有效:
Uri selectedUri = Uri.parse(Environment.getExternalStorageDirectory() + "/myFolder/");
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(selectedUri, "resource/folder");
startActivity(intent);
有一个很好的编码:)
修改强>: 如果当前的解决方案对您没有帮助,那么这些文件/目录选择器库可能会有所帮助: https://android-arsenal.com/tag/35
答案 3 :(得分:0)
我在此GitHub repo
中找到了解决方案代码:
如果你想要开放&浏览文件: FileBrowser.class
Intent intent = new Intent(activity, FileBrowser::class.java)
intent.putExtra(Constants.INITIAL_DIRECTORY, File(storageDirPath).absolutePath)
intent.putExtra(Constants.ALLOWED_FILE_EXTENSIONS,"*")
startActivityForResult(intent, CODE_INTENT )
如果您想获取用户选择的文件的URI: FileChooser.class
Intent intent = new Intent(activity, FileChooser::class.java)
intent.putExtra(Constants.INITIAL_DIRECTORY, File(storageDirPath).absolutePath)
startActivityForResult(intent, CODE_INTENT )
答案 4 :(得分:-1)
选择根:
Intent selectFile = new Intent();
selectFile.setAction("com.sec.android.app.myfiles.PICK_DATA_MULTIPLE");
selectFile.putExtra("CONTENT_TYPE", "*/*");
selectFile.addCategory(Intent.CATEGORY_DEFAULT);
startActivity(selectFile);