我想打开Kotlin的文件。
大多数代码使用startActivityForResult
,但已弃用。
所以找到了这个one
// get reference to button
val btn_csv_me = findViewById(R.id.btnCSV) as Button
// set on-click listener
btn_csv_me.setOnClickListener(object : View.OnClickListener {
override fun onClick(view: View?) {
val path = Environment.getExternalStorageDirectory().toString() + "/" + "Downloads" + "/"
val uri: Uri = Uri.parse(path)
val intent = Intent(Intent.ACTION_PICK)
intent.setDataAndType(uri, "*/*")
startActivity(intent)
}
})
Uri = /storage/emulated/0/Downloads/
但是,它没有显示我打开文件夹。我只有两个选项:用照片或联系人打开。
我错过什么了吗?
编辑:
// get reference to button
val btn_csv_me = findViewById(R.id.btnCSV) as Button
// set on-click listener
btn_csv_me.setOnClickListener(object : View.OnClickListener {
override fun onClick(view: View?) {
val path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).toString()
val uri: Uri = Uri.parse(path)
val intent = Intent(Intent.ACTION_VIEW)
intent.setDataAndType(uri, "*/*")
resultLauncher.launch(intent)
}
private val resultLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
if (it.resultCode == Activity.RESULT_OK) {
val uri: Uri? = it.data?.data
// Use this Uri
}
}
})
感谢Sohaib。现在它确实去了下载目录,但当我点击文件,它显示我不能显示。
我不想这样做,只是想得到的csv文件,并把它放到sqlite后。
请问我怎样才能知道这个文件的名字?
1条答案
按热度按时间l7wslrjt1#
试试这个代码。
弃用的
startActivityForResult
已替换为registerForActivityResult
,如下所示: