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

Posted

技术标签:

【中文标题】打开失败:Android 中的 EACCES(权限被拒绝)【英文标题】:Open failed: EACCES (Permission denied) in Android 【发布时间】:2015-01-12 00:55:26 【问题描述】:

我找到了一个代码并根据我的应用程序进行了一些编辑。它是关于在 android 上以字节为单位将文本写入 txt。我收到了这个错误,Exception 'open failed: EACCES (Permission denied)' on Android

如上面的链接所述,我更改了与 write_external_storage 相关的用户权限在我的 Android 清单文件中的位置。但是,在该文件中,我收到“标签出现在标签之后”警告导致我再次遇到相同的错误。

提前谢谢你

 if (response.equals("tag OK " + param[2]
                + " authenticated (Success)")) 

             mySuccessfulLogin = param[0] + "\n"
                    + param[1] + "\n" + param[2]
                    + "\n" + newpassword;

            myDirectory = Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+"Users/macbookpro/Documents/CS328/Android_IMAP";

            File custdir = new File(myDirectory);
            if(!custdir.exists())
                
                    custdir.mkdirs();

                

            File savedir=new File(custdir.getAbsolutePath());
            File file = new File(savedir, "LastLogin");

            if(file.exists())
                 
               file.delete();
                 

            FileOutputStream fos;

            byte[] data = mySuccessfulLogin.getBytes();

            try 

                fos = new FileOutputStream(file);
                fos.write(data);
                fos.flush();
                fos.close();
                               // Toast.makeText(, "File Saved", Toast.LENGTH_LONG).show();

              catch (FileNotFoundException e) 
                                //Toast.makeText(getBaseContext(), "Error File Not Found", Toast.LENGTH_LONG).show();
               Log.e("fnf", ""+e.getMessage());
                                // handle exception
               catch (IOException e) 
                                // handle exception
                               // Toast.makeText(getBaseContext(), "Error IO Exception", Toast.LENGTH_LONG).show();
              

        

【问题讨论】:

请发布您的日志 【参考方案1】:

您的清单中需要此权限

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

在应用标记之前。

【讨论】:

如果你有 WRITE_EXTERNAL_STORAGE 权限,你不需要 READ_EXTERNAL_STORAGE,但是是的,他确实需要 WRITE_EXTERNAL_STORAGE 你之前告诉我的我都做了。那时,它没有工作。但是这次它有效,但我在我的目录中找不到它。你们有什么想法吗? @Guardanis @Lukos,我的名为 LastLogin.txt 的 txt 文件(它没有出现在代码中,但我稍后更改了它)如果它是存储在目录中的方式。跨度> 好像是刚创建就删除了。 @Lukos,我删除了那部分,但它没有用。我看不到。我的意思是没有什么像那里因为我不知道的原因

以上是关于打开失败:Android 中的 EACCES(权限被拒绝)的主要内容,如果未能解决你的问题,请参考以下文章

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

BitmapFactory:无法解码流:java.io.FileNotFoundException:打开失败:Android Q 上的 EACCES(权限被拒绝)

打开失败:EACCES(权限被拒绝)并尝试在空对象引用上调用虚拟方法“int android.graphics.Bitmap.getWidth()”

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

引起:android.system.ErrnoException:绑定失败:EACCES(权限被拒绝)

Android HTTP POST 请求错误 - 套接字 EACCES 失败(权限被拒绝)