任务:上传用户可从设备中选择的图片。
如何使用Kotlin在Android应用程序中按下按钮打开File CHooser窗口?
答案 0 :(得分:7)
在您的活动中添加按钮单击以添加意图:
btnBack.setOnClickListener {
val intent = Intent()
.setType("*/*")
.setAction(Intent.ACTION_GET_CONTENT)
startActivityForResult(Intent.createChooser(intent, "Select a file"), 111)
}
设置自定义requestCode,我设置111
在您的活动中添加onActivityResult
以捕获结果:
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == 111 && resultCode == RESULT_OK) {
val selectedFile = data?.data //The uri with the location of the file
}
}
现在selectedFile
将包含他们所选内容的位置。
答案 1 :(得分:-1)
我正在Fragment内的pdf阅读器中使用它。添加我的代码: 但是我还不知道如何定义正确的目录来选择文件。
val selectedFile = data?.data //The uri with the location of the file <p>
pdfView.fromUri(selectedFile).load() // Show the selected file
//Fragment view
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
val intent = Intent()
.setType("*/*")
.setAction(Intent.ACTION_GET_CONTENT)
startActivityForResult(Intent.createChooser(intent, "Select a file"), 111)
return inflater.inflate(R.layout.fragment_sat,container,false)
}