android应用程序中具有系统权限的IOException

android应用程序中具有系统权限的IOException,android,android-manifest,ioexception,android-external-storage,Android,Android Manifest,Ioexception,Android External Storage,我正在尝试使用以下代码从SD卡进行写/读操作: try { File sdcard = Environment.getExternalStorageDirectory(); File file = new File(sdcard,INITIAL_FILE_NAME); if (!file.exists()) { file.createNewFile(); } } catch (IOExcepti

我正在尝试使用以下代码从SD卡进行写/读操作:

     try {
    File sdcard = Environment.getExternalStorageDirectory();
    File file = new File(sdcard,INITIAL_FILE_NAME);

        if (!file.exists()) {
            file.createNewFile();
        }
     }
    catch (IOException e) {
       Log.e("TAG",e.getMessage());
    }
在清单中,我给予以下许可:

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
我正在通过授予我的应用程序系统权限(用于其他需要的任务)

当我取消特权时,我可以访问SD卡。由于某些原因,系统权限与SD卡的读/写冲突


有人能告诉我这背后的原因吗?是否有办法同时管理这两个进程?

在请求卸载SD卡后不久,继续在SD卡上保存打开的文件夹的进程将被终止,以便可以卸载

我们不希望系统进程能够访问SD卡以避免此类问题(以及一般的安全清洁),因此它没有访问SD卡的权限


如果你想访问SD卡,你不应该使用系统共享用户ID。

你设置了哪些权限?@PhilippJahoda抱歉,我编辑了问题Add READ_EXTERNAL_STORAGE permission.MANAGE_DOCUMENTS permission如果你使用KIT_KAT…@PradeepYaduvanshy我已经尝试过了,但我没有使用KIT_KAT。看来不可能同时做到这两件事1.谢谢你的回复。如果我从后台服务访问SD卡,它会工作吗?还是我一定会遇到同样的问题?@user1851212据我所知,即使在那之后,你的问题仍然会存在,但如果你得到了你需要的,你可以尝试一下,并将此标记为答案。没有解决。但是有一个解决方案,我不确定这是否是一个好方法,但我正在做以下工作:创建另一个应用程序,其中只有一个服务。我在那里执行SD卡读/写过程。我可以从我的应用程序中调用该服务。你怎么认为?(请记住,am所做的应用程序不是商业性的,因此从这个角度来看是灵活的)
     open failed: EACCES (Permission denied)
     android:sharedUserId = "android.uid.system"