【问题标题】:Android 11 (SDK 30) custom file picker libraryAndroid 11 (SDK 30) 自定义文件选择器库
【发布时间】:2021-01-25 02:25:04
【问题描述】:

我正在从 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 现在有什么好的自定义文件选择器库吗?

【问题讨论】:

  • 您没有说明这些文件选择器在 30 日不起作用的原因。
  • 引用第一个链接:This Filepicker is based on the MediaStore api provided by android. It checks MediaStore database for a file entry. If your file is not showing in the picker, it means that it is not inserted into MediaStore database yet.。啊哈.. 这不是经典的文件选择器,更糟糕的是它使用 .DATA 列和 getrealpathfromuri。
  • 原因是原作者不支持这些功能。我不得不自己做。
  • @blackapps 我不确定他们是如何做到的,但不知何故它不起作用。所以我现在正在寻找任何其他支持范围存储的好库。
  • 错了。我刚刚告诉你第一个不起作用的原因。

标签: android scoped-storage


【解决方案1】:

您可以使用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)
    }
}

【讨论】:

    猜你喜欢
    • 2011-02-17
    • 2023-03-27
    • 1970-01-01
    • 2021-11-21
    • 2020-12-10
    • 1970-01-01
    • 1970-01-01
    • 2012-08-25
    • 2011-10-17
    相关资源
    最近更新 更多