Skip to content

Latest commit

 

History

History
25 lines (22 loc) · 835 Bytes

README.md

File metadata and controls

25 lines (22 loc) · 835 Bytes

android11Saf

android 11 分区存储 兼容旧版本 迁移工具类方法

val persistedUri = DocumentHelper.getPersistedUri(this, filePath)
if (persistedUri != null) {
  listDocumentFiles(DocumentFile.fromTreeUri(this, persistedUri))
} else {
  DocumentHelper.startActivity(this, filePath, 1)
}

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
  super.onActivityResult(requestCode, resultCode, data)
  if (resultCode != Activity.RESULT_OK) {
    finish()
    return
  }
  val uri = data?.data ?: return
  //关键是这里,这个就是保存这个目录的访问权限
  contentResolver.takePersistableUriPermission(uri, data.flags 
      and (Intent.FLAG_GRANT_READ_URI_PERMISSION or Intent.FLAG_GRANT_WRITE_URI_PERMISSION)) 
  listDocumentFiles(DocumentFile.fromTreeUri(this, uri))
}