问题描述
在 SDK 29 中,我能够使用自定义文件选择器,例如 https://github.com/DroidNinja/Android-FilePicker 和 https://github.com/AnilFurkanOkcun/UWMediaPicker-Android。但是,它们似乎不支持 SDK 30 (Android 11)。我别无选择,只能使用默认文件选择器。
问题是,limit for maximum number of file selected
和 max file size selected
的默认文件选择器不支持。
我的问题是,SDK 30 现在有什么好的自定义文件选择器库吗?
解决方法
您可以使用 Simple Storage 的文件选择器。它支持作用域存储。
class MainActivity : AppCompatActivity() {
private val storageHelper = SimpleStorageHelper(this)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
storageHelper.onFolderSelected = { requestCode,folder ->
// do stuff
}
storageHelper.onFileSelected = { requestCode,file ->
// do stuff
}
btnOpenFolderPicker.setOnClickListener { storageHelper.openFolderPicker() }
btnOpenFilePicker.setOnClickListener { storageHelper.openFilePicker() }
}
override fun onSaveInstanceState(outState: Bundle) {
storageHelper.onSaveInstanceState(outState)
super.onSaveInstanceState(outState)
}
override fun onRestoreInstanceState(savedInstanceState: Bundle) {
super.onRestoreInstanceState(savedInstanceState)
storageHelper.onRestoreInstanceState(savedInstanceState)
}
}