有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java无法打开指定的文件夹安卓 R

大家好,我在安卓 R中认识的每个人,我无法在/storage/emulated/0/安卓/data/section中打开文件夹,所以我在/storage/emulated/0/Document/myapp中创建了一个文件夹来保存我应用程序中的图像(屏幕截图),但我尝试了以下方法仍然无法打开此文件夹:

fun openDirectory() {
        val dir: File
        // Choose a directory using the system's file picker.
        val intent = Intent(Intent.ACTION_OPEN_DOCUMENT_TREE).apply {
            if (Build.VERSION_CODES.R > SDK_INT) {
                dir = File(
                    Environment.getExternalStorageDirectory().path
                            + "//CHAN"
                )
            } else {
                dir = File(
                    Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS)
                        .path
                            + "//CHAN"
                )
            }
            val pickerInitialUri = Uri.parse(dir.toString())
            putExtra(DocumentsContract.EXTRA_INITIAL_URI, pickerInitialUri)
        }

        startActivityForResult(intent, YOUR_REQUEST_CODE)
    }

fun openFile() {
        val dir: File
        val intent = Intent(Intent.ACTION_OPEN_DOCUMENT).apply {
            addCategory(Intent.CATEGORY_OPENABLE)
            type = "file/*"

            if (Build.VERSION_CODES.R > SDK_INT) {
                dir = File(
                    Environment.getExternalStorageDirectory().path
                            + "//CHAN"
                )
            } else {
                dir = File(
                    Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS)
                        .path
                            + "//CHAN"
                )
            }
            val pickerInitialUri = Uri.parse(dir.toString())
            putExtra(DocumentsContract.EXTRA_INITIAL_URI, pickerInitialUri)
        }

        startActivityForResult(intent, YOUR_REQUEST_CODE)
    }
open fun openFolder(): Unit {
    val location : String  = "/storage/emulated/0/Documents/CHAN/"
    val intent = Intent(Intent.ACTION_VIEW)
    val mydir = Uri.parse("$location")
    intent.setDataAndType(mydir, "application/*") // or use */*
    intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
    startActivity(intent)
}

我用代码创建文件夹:

        final File dir;
        if (Build.VERSION_CODES.R > Build.VERSION.SDK_INT) {
            dir = new File(Environment.getExternalStorageDirectory().getPath()
                    + "//CHAN");
        } else {
            dir = new File(Environment.getExternalStoragePublicDirectory(DIRECTORY_DOCUMENTS).getPath()
                    + "//CHAN");
        }

我的应用程序:minSdkVersion 29targetSdkVersion 30 我有写外部存储的权限,读外部存储的权限,但是我不能管理外部存储的权限 有没有办法自动打开文件夹?还是有更好的方式保存和查看这些照片?谢谢


共 (0) 个答案