[英]How to get Real path from Uri in android 11
如何從 android 10 和 android 11 中的 URI 獲取真實路徑。 從意圖數據中獲取 Uri,即
private val startForResult =
registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result: ActivityResult ->
if (result.resultCode == Activity.RESULT_OK) {
val uri = result.data?.data
}
}
並打算獲取pdf文件
val mimeType = "application/pdf"
val intent = Intent(Intent.ACTION_GET_CONTENT)
intent.type = mimeType
intent.addCategory(Intent.CATEGORY_OPENABLE)
if (packageManager.resolveActivity(sIntent, 0) != null) {
// it is device with Samsung file manager
chooserIntent = Intent.createChooser(sIntent, "Select an PDF File")
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, arrayOf(intent))
} else {
chooserIntent = Intent.createChooser(intent, "Select an PDF File")
}
try {
chooserIntent.resolveActivity(packageManager)?.let {
// startActivityForResult(Intent.createChooser(this,"Pick MHT file"),1)
startForResult.launch(chooserIntent)
}
} catch (ex: ActivityNotFoundException) {
Toast.makeText(
applicationContext,
"No suitable File Manager was found.",
Toast.LENGTH_SHORT
).show()
}
您可以這樣做來獲取數據:
val inputStream = context.contentResolver.openInputStream(uri)
但我不確定您是否可以從 uri 獲得可用的文件路徑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.