java - 通过单击菜单项打开特定文件夹

标签 java android

我尝试借助此方法单击菜单项来打开应用程序在录制 .txt 文件时在内存中创建的特定文件夹,但即使该文件夹存在,也是不可能的。当我单击菜单项打开 MyFolder 时,您能帮我一下吗?

switch (item.getItemId()) {

    case R.id.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"));

            break;

}

最佳答案

首先,我会检查系统上是否有某个文件资源管理器可以处理打开目录 this 的请求。就是一个例子。

<小时/>

那么你的代码应该修改为:

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
Uri uri = Uri.parse(Environment.getExternalStorageDirectory().getPath()+ "/MyFolder/");
intent.setDataAndType(uri, "*/*");
startActivity(Intent.createChooser(intent, "Open folder"));
<小时/>

您也可以像这样创建 uri,我不确定为什么有时需要这个前缀,也许有人可以向我们解释:

Uri uri = Uri.parse("file://" + Environment.getExternalStorageDirectory().getPath()+ "/MyFolder/");

关于java - 通过单击菜单项打开特定文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57447217/

相关文章:

android - 为当前的 Android 手机创建模拟器

Android Smart Banner -- Manifest for Native App Install 提示缺少 Service Workers

java - YouTube Android Player API 如何启用字幕?

java - 运行 JAR 时如何查找 "Could not find or load main class"错误的根源

java - 为什么当方法的返回作为参数传递给其他方法时首先调用方法?

java - 是否有任何自动化工具可以对 java 批处理应用程序执行功能测试?

Java 方法命名约定和重载

java - 设置mysql进程之间的优先级

java - 具有一个核心库和多个本地化的多个 Android 项目

android - 偏好选择始终保持默认