首页 > 解决方案 > 在 kitkat android 上找不到处理 Intent { act=android.intent.action.OPEN_DOCUMENT_TREE cat=[android.intent.category.DEFAULT] } 的活动

问题描述

我正在开发应用程序,我必须从外部存储中选择一个文件夹,然后我必须获取它的路径,然后将其传递给 fileobserver。一切正常。我正在使用此代码来选择目录:

Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
                intent.addCategory(Intent.CATEGORY_DEFAULT);
                startActivityForResult(intent,RESULT_CODE);

它给了我这个界面: 目录选择器

问题:当我在 KITKAT 上运行应用程序时,它给了我上述异常。我已经在互联网上搜索了它,但找不到替代方案。我只想选择目录并在 kikat 上获取它的路径。

标签: android

解决方案


ACTION_OPEN_DOCUMENT_TREE是在 API 21 (Lollipop) 中添加的 - 它在 API 19 (Kitkat) 设备上不存在,并且对于 pre-API 21 设备没有等效项。

READ_EXTERNAL_STORAGE如果您想让用户在 Kitkat 设备上选择文件夹,您需要请求权限并从头开始构建您自己的文件浏览器。


推荐阅读