我想要的路径,用户在文件管理器中指出的csv文件。
现在它打开文件管理器,但我不知道如何从这个文件路径。
@Composable
fun screen(){
val intent = Intent(Intent.ACTION_GET_CONTENT)
intent.type = "*text/csv*"
intent.addCategory(Intent.CATEGORY_OPENABLE)
val launcher = rememberLauncherForActivityResult(ActivityResultContracts.StartActivityForResult()){ }
Button(onClick = {
launcher.launch(intent)
}) {
Text(text = "Take a file")
}
}
1条答案
按热度按时间abithluo1#
您要调用的
rememberLauncherForActivityResult
函数有两个参数,第一个是您要使用的约定,在您的示例中为ActivityResultContracts.StartActivityForResult
,第二个是onResult
回调,它将在已启动的Activity完成后调用。你应该使用它给你的ActivityResult
。它包含结果代码和数据-你可以从数据中得到文件路径,它看起来像这样:此外,您应该检查
ActivityResultContracts.GetContent
,这将简化您的工作-使用此契约,您将在回调中直接接收Uri?
。