当前位置: 首页 > 知识库问答 >
问题:

权限被拒绝错误位于。createFile[重复]

沃驰
2023-03-14

我想将位图作为截图保存到/fraktal文件夹中。每次尝试此操作时,我都会收到一个错误,即在文件中拒绝EACCESS权限。createNewFile()。我已经在AndroidManifest上添加了权限。xml。

uses-permission android:name="android.permission.INTERNET"

uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" 

uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"

你可以帮忙吗?

private void takeScreenshot(Bitmap fractal)
{
    String filename="fraktal_"+ System.currentTimeMillis();
    FileOutputStream out = null;
    File path = Environment.getExternalStoragePublicDirectory(
            Environment.DIRECTORY_PICTURES).getAbsoluteFile();
    File file = new File(path,"/fraktal/"+filename +".png");

    try {
        path.mkdirs();

        file.createNewFile();

        out = new FileOutputStream(file);
        fractal.compress(Bitmap.CompressFormat.PNG, 100, out);// PNG ist         verlustfrei, kompression 100 wird ignoriert
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (out != null)
            {
                out.flush();
                out.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

共有1个答案

彭宏深
2023-03-14

运行时权限检查尝试此操作

public  boolean isStoragePermissionGranted() {
if (Build.VERSION.SDK_INT >= 23) {
    if (checkSelfPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE)
            == PackageManager.PERMISSION_GRANTED) {
        Log.v(TAG,"Permission is granted");
        return true;
    } else {

        Log.v(TAG,"Permission is revoked");
        ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
        return false;
    }
}
else { //permission is automatically granted on sdk<23 upon installation
    Log.v(TAG,"Permission is granted");
    return true;
}
}
 类似资料:
  • 问题内容: 我运行 npm install lodash, 但它抛出 错误:EACCES:权限被拒绝 错误。我知道这是权限问题,但据我所知,本地安装节点模块不需要sudo权限。如果我使用sudo运行它,它将安装在〜/ node_modules文件夹中。 drwxrwxr-x 是现有文件夹的文件许可权。我不知道可能出了什么问题。 下面是错误消息。 问题答案: 使用 npm init 创建 packa

  • 我运行npm install lodash,但它抛出错误:EACCES:权限被拒绝错误。我知道这是权限问题,但据我所知,在本地安装节点模块不需要sudo权限。如果我用sudo运行它,它会安装在~/node\u modules文件夹中。drwxrwxr-x是现有文件夹的文件权限。我不知道可能出了什么问题。 下面是错误消息。

  • 当我键入“npm run build: prod”时 我得到这个错误: 我已尝试删除node\u模块 编辑:用chown-R根 /path/of/your/project解决

  • 我在django admin(127.0.0.1:8000/admin)中尝试为用户添加个人资料照片时收到此错误消息 有人能帮我找出原因吗? OSError at /admin/role/role/6/[Errno 13]权限被拒绝:'/User'请求方法: POST请求URL:http://127.0.0.1:8000/admin/role/role/6/Django版本: 1.8.2异常类型:

  • 我在Ruby 2.0.0-p353和OSX Mavericks上使用Rails 4.0.2、Guard 2.2.4、Guard rspec 4.2.4、rspec Rails 2.14.0、Capybara 2.2.1和Poltergeist 1.5.0。 当我运行bundle exec Guard时,我得到了很多失败的错误消息:一个错误发生在后钩子Errno::EACCES:权限拒绝- /usr

  • 问题内容: 我最近使用CentOS 6.3将Go安装到了我们的服务器上。安装似乎一切正常。但是,我制作了一个测试“ hello world”脚本,运行时得到以下输出。 现在运行go env或其他go命令似乎可以正常工作。起初,我认为这是一个权限问题,但是以root用户身份运行时,我会得到相同的结果。一个 问题答案: 只是猜测:出于安全原因,您的nix可能会禁用在/ tmp中执行程序。它可能在Cen