【问题标题】:'open failed: EACCES (Permission denied)' on AndroidAndroid上的“打开失败:EACCES(权限被拒绝)”
【发布时间】:2016-06-14 15:58:30
【问题描述】:

在三星 T230 (Android 4.4.2) 它适用于以下两种情况

File firstFile = new File("mnt/extSdCard/Android/data/com.example.storagetest", "test.txt");
RandomAccessFile fileLittle = new RandomAccessFile(firstFile, "rw");

File scndFile = new File("mnt/extSdCard/Android/data/com.example.storagetest", "test2.txt");
scndFile.createNewFile();

我已经尝试了很多这些设备都以这种方式工作。 T230就是一个例子

在 Hometech 平板电脑 (Android 5.1.1) 上不起作用。

File firstFile = new File("mnt/external_sd/Android/data/com.example.storagetest", "test.txt");
RandomAccessFile fileLittle = new RandomAccessFile(firstFile, "rw");

File scndFile = new File("mnt/external_sd/Android/data/com.example.storagetest", "test2.txt");
scndFile.createNewFile();

我收到如下错误:

打开失败:EACCES(权限被拒绝)

当前的 AndroidManifest.xml

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

我尝试了很多不同的方法... requestPermissions()android:maxSdkVersion 并没有改变任何东西 搜索太多,但我无法得出结论。

如何在 SD 卡上创建文件。

重要提示:我可以直接读取文件,但不能更改或创建新文件。

【问题讨论】:

    标签: android android-external-storage


    【解决方案1】:

    如何在 SD 卡上创建文件。

    你没有。搭载 Android 4.4+ 的设备不允许任意访问removable storage

    您可以通过the Storage Access Framework 间接使用可移动存储。在那里,您不必担心用户将数据放在哪里(外部存储、可移动存储、Google Drive、Dropbox 等)。

    【讨论】:

    • 它会改变 root 访问权限吗?我正在阅读博客,我会尽快确认,
    • @Abdullah:根访问权限应该允许您使用可移动媒体。此外,系统应用程序,至少是预安装的应用程序,可以由设备制造商(或者可能是自定义 ROM 开发人员)授予对可移动媒体的权利。然而,普通的 SDK 应用程序不能。如果您对这类问题感兴趣,可以考虑阅读Dave Smith's blog post,了解其实现方式的详细信息。
    猜你喜欢
    • 1970-01-01
    • 2021-12-23
    • 2021-07-02
    • 2016-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-12
    • 1970-01-01
    相关资源
    最近更新 更多