getexternalStorageDirectory 不工作

2022-08-31 23:42:21

我正在尝试将文件保存到运行4.2.2的三星Galaxy Nexus上的SD卡中。从我正在使用的应用

Environment.getExternalStorageDirectory()

但它会返回

/storage/emulated/0/

这不是我的SD卡信息所在的位置。是否有任何工作方法可用于获取SD卡的正确路径?


答案 1

实际上,这是正确的位置。

从android 4,2开始,谷歌引入了多个用户帐户。每个用户都有他/她自己的外部存储,该存储具有路径中的用户 ID 以保持唯一性。

主(默认)用户的 ID 为 0。因此,您可以作为外部存储的路径。/storage/emulated/0/


答案 2

我刚刚了解到这是果冻豆处理缺乏许可的方式。我没有在旧版本的Android上看到过这样的行为。android.permission.WRITE_EXTERNAL_STORAGE

只需将此行添加到您的AndroidManifest.xml:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

推荐