package com.shiki.koko.datafile.saf

import android.content.Intent
import android.net.Uri
import android.os.Build
import android.provider.DocumentsContract
import java.net.URI

/**
 * saf文件权限请求，用于兼容androidR无法访问android/data、android/obb目录
 *
 * ACTION_CREATE_DOCUMENT  操作支持用户将文件保存在特定位置。
 * ACTION_OPEN_DOCUMENT  操作支持用户选择要打开的特定文档或文件
 * ACTION_OPEN_DOCUMENT_TREE  Android 5.0（API 级别 21）及更高版本中提供，支持用户选择特定目录，授予应用对该目录中所有文件和子目录的访问权限。
 *
 */
fun safIntent(uri:Uri): Intent {

    val intent = Intent(Intent.ACTION_OPEN_DOCUMENT_TREE)
    //在是个容错机制,即使URI不准确也可以定位到相应的目录
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        intent.putExtra(DocumentsContract.EXTRA_INITIAL_URI, uri)
    }
    return intent
}

