【发布时间】:2019-09-24 12:54:07
【问题描述】:
我正在开发一个简单的文件浏览器来列出和写入文件。它在内部存储上完美运行,但不适用于外部 SD 卡(写入文件被拒绝访问)。 我在 AndroidManifest.xml 文件中有这些权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
我会在应用启动时请求它们。但我仍然无法将文件保存在外部 SD 上。
当我尝试使用FileOutputStream 编写代码时,它会使用路径/storage/(sdcard folder)/ 抛出FileNotFoundException:
java.io.FileNotFoundException: /storage/27BB-C7D9/Download/353874.jpg: open failed: EACCES (Permission denied)
SD 卡在 Android 上是只读的吗? 一些应用程序,如 ES File Explorer 可以在外部 SD 上写入文件。是否有一些功能可以用来获得足够的权限?
谢谢。
【问题讨论】:
-
在应用部分添加
android:requestLegacyExternalStorage="true" -
据我所知,你现在只能使用SAF写入真实的物理SD卡
-
@VladyslavMatviienko 那可能是什么“新加坡武装部队”?
-
@IntelliJAmiya 添加 AndroidManifest.xml 文件?我试过了,但这是应用程序部分的未知属性。
-
@LuanSilveira 你试过搜索吗?
标签: java android android-studio android-sdcard