猿问

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

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();}


繁花如伊
浏览 4350回答 3
3回答

慕哥9229398

我也有同样的问题.。这个<uses-permission在错误的地方。这是对的:&nbsp;<manifest> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<uses-permission&nbsp;android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<application> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<activity>&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</activity> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</application> &nbsp;&nbsp;&nbsp;&nbsp;</manifest>这个uses-permission标记必须位于application标签。

白衣染霜花

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

相关分类

Android
我要回答