Android 11 (SDK 30) 自定义文件选择器库

问题描述

我正在从 Android 的文件选择器中选择文件

SDK 29 中,我能够使用自定义文件选择器,例如 https://github.com/DroidNinja/Android-FilePickerhttps://github.com/AnilFurkanOkcun/UWMediaPicker-Android。但是,它们似乎不支持 SDK 30 (Android 11)。我别无选择,只能使用文件选择器。

问题是,limit for maximum number of file selectedmax 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)
    }
}