gpt4 book ai didi

android - 在文件选择器中访问外部存储

转载 作者:搜寻专家 更新时间:2023-11-01 08:44:57 25 4
gpt4 key购买 nike

我正在尝试实现一个文件选择器。我正在使用 Android File Explore对于我的应用程序中的文件选择器。当我运行该应用程序时,它会显示内部存储并返回文件路径,但它根本不显示外部存储。

这是我的 AndroidManifest.xml 文件。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.unicloud.mittal" >

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.MANAGE_DOCUMENTS" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:logo="@drawable/ic_launcher"
android:theme="@style/AppTheme" >
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />

<activity
android:name=".Splash"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".loginWithGooglePlus"
android:label="@string/app_name"
android:logo="@drawable/ic_launcher" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".FileExplore"
android:label="Pick a file"
android:permission="android.permission.MANAGE_DOCUMENTS" >
<intent-filter>
<action android:name="android.content.action.DOCUMENTS_PROVIDER" />
</intent-filter>

</activity>
</application>

</manifest>

我哪里做错了?

最佳答案

在上面的 github 链接中,您使用的是 Environment.getExternalStorageDirectory()按预期工作的 API。我认为您误解了此 API 的使用。此 API 将始终返回主要的外部存储目录。以下解释可能对您有所帮助:

首先,内部存储、外部存储(又名主外部存储)和辅助外部存储有什么区别?

内部存储:是用户无法访问的存储,除非通过已安装的应用程序(或通过对设备进行 root)。例子:data/data/app_packageName

主要外部存储:内置共享存储,“用户可以通过插入 USB 数据线并将其作为驱动器安装在主机上来访问”。示例:当我们说 Nexus 5 32 GB 时。

辅助外部存储:可移动存储。示例:SD 卡。

现在是下一个问题。如何在 Lollipop 中访问 SD 卡?访问SD卡Android引入新Storage Access Framework在 KitKat 中。

这是一个解释得很漂亮的答案:https://stackoverflow.com/a/26765884/631803

关于android - 在文件选择器中访问外部存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29363554/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com