为了账号安全,请及时绑定邮箱和手机立即绑定

Android上的异常“打开失败:EACCES(权限被拒绝)”

Android上的异常“打开失败:EACCES(权限被拒绝)”

繁花如伊 2019-06-19 19:36:27
Android上的异常“打开失败:EACCES(权限被拒绝)”我得到了打开失败:EACCES (Permission denied)在线上OutputStream myOutput = new FileOutputStream(outFileName);我检查了根,我试着android.permission.WRITE_EXTERNAL_STORAGE.我怎样才能解决这个问题?try {     InputStream myInput;     myInput = getAssets().open("XXX.db");     // Path to the just created empty db     String outFileName = "/data/data/XX/databases/"             + "XXX.db";     // Open the empty db as the output stream     OutputStream myOutput = new FileOutputStream(outFileName);     // Transfer bytes from the inputfile to the outputfile     byte[] buffer = new byte[1024];     int length;     while ((length = myInput.read(buffer)) > 0) {         myOutput.write(buffer, 0, length);     }     // Close the streams     myOutput.flush();     myOutput.close();     myInput.close();     buffer = null;     outFileName = null;}catch (IOException e1) {     // TODO Auto-generated catch block     e1.printStackTrace();}
查看完整描述

3 回答

?
慕哥9229398

TA贡献1877条经验 获得超6个赞

我也有同样的问题.。这个<uses-permission在错误的地方。这是对的:

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

这个uses-permission标记必须位于application标签。


查看完整回答
反对 回复 2019-06-19
?
白衣染霜花

TA贡献1796条经验 获得超10个赞

在模拟器中运行应用程序时,我已经观察到过一次。在模拟器设置中,需要正确地指定外部存储的大小(“SD卡”)。默认情况下,“外部存储”字段为空,这可能意味着没有这样的设备,即使在清单中授予权限,也会引发EACCES。


查看完整回答
反对 回复 2019-06-19
  • 3 回答
  • 0 关注
  • 4349 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信