getexternalStorageDirectory 不工作
我正在尝试将文件保存到运行4.2.2的三星Galaxy Nexus上的SD卡中。从我正在使用的应用
Environment.getExternalStorageDirectory()
但它会返回
/storage/emulated/0/
这不是我的SD卡信息所在的位置。是否有任何工作方法可用于获取SD卡的正确路径?
我正在尝试将文件保存到运行4.2.2的三星Galaxy Nexus上的SD卡中。从我正在使用的应用
Environment.getExternalStorageDirectory()
但它会返回
/storage/emulated/0/
这不是我的SD卡信息所在的位置。是否有任何工作方法可用于获取SD卡的正确路径?
实际上,这是正确的位置。
从android 4,2开始,谷歌引入了多个用户帐户。每个用户都有他/她自己的外部存储,该存储具有路径中的用户 ID 以保持唯一性。
主(默认)用户的 ID 为 0。因此,您可以作为外部存储的路径。/storage/emulated/0/
我刚刚了解到这是果冻豆处理缺乏许可的方式。我没有在旧版本的Android上看到过这样的行为。android.permission.WRITE_EXTERNAL_STORAGE
只需将此行添加到您的AndroidManifest.xml:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />