[英]intent always containing null uri in compose
我试图检索文件路径。 我的代码是-
fun Uri.getOriginalFileName(context: Context): String? {
val projection = arrayOf(
MediaStore.Files.FileColumns.TITLE,
)
return context.contentResolver.query(this, projection, null, null, null)?.use {cursor ->
val titleCol = cursor.getColumnIndexOrThrow(MediaStore.Files.FileColumns.TITLE)
cursor.moveToFirst()
Log.i("TESTt", cursor.getString(titleCol))
return cursor.getString(titleCol)
}
}
@Composable
fun AppNotice() {
Surface {
Box {
var path by remember { mutableStateOf("") }
val intent = Intent(Intent.ACTION_GET_CONTENT)
intent.type = "*/*"; ///
intent.addCategory(Intent.CATEGORY_OPENABLE);
val context = LocalContext.current
val launcher = rememberLauncherForActivityResult(ActivityResultContracts.StartActivityForResult()) {
activityResult -> if (activityResult.resultCode == RESULT_OK)
{
Log.d("appDebug", "oky")
val uri = intent.getData()
Log.d("uritest", "$uri")
val name = uri?.getOriginalFileName(context)
Log.d("seeFile", "$name")
}
else {
Log.d("appDebug", "Denied")
}
}}
意图启动并在选择文件时产生相同的结果,null。 我无法弄清楚问题出在哪里。 需要注意的一件事是,在我 select 文件之前,它位于 null state
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.