android10 获取文件夹,遍例文件夹下所有文件

//首先,调用选择器获取文件夹uri

    val  PICK_FILE = 10
    //打开文件选择器,选择文件夹
    private fun pickFile() {
        val intent = Intent(Intent.ACTION_OPEN_DOCUMENT_TREE)
        startActivityForResult(intent, PICK_FILE)
    }

    //获取文件夹uri
    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
        when (requestCode) {
            PICK_FILE -> {
                if (resultCode == RESULT_OK && data != null) {
                    //获取到文件夹uri
                    val uri = data.data
                    
                }
            }
        }
    }

    //遍例文件夹下所有文件
    fun forFile(uri:Uri){
        //获取文件夹下所有文件
        val files = DocumentFile.fromTreeUri(this, uri)?.listFiles()
        if(files != null)
            //遍例所有文件
            files.forEach { 
                LogUtils.e("uri-->"+it.uri)
            }
    }

 

你可能感兴趣的:(android10 获取文件夹,遍例文件夹下所有文件)