createTempFile工作正常,现在权限被拒绝

时间:2018-04-30 16:10:16

标签: java android

我有这个代码,它是我拍摄的照片的一部分:

private File createTemporaryFile(String part, String ext) throws Exception {
    File tempDir= Environment.getExternalStorageDirectory();
    //Solution I found in another question:
    //File tempDir = super.getFilesDir();
    tempDir=new File(tempDir.getAbsolutePath()+"/.temp/");

    if(!tempDir.exists()) {
        tempDir.mkdirs();
    }
    return File.createTempFile(part, ext, tempDir);
}

它曾经运作良好,但现在由于某种未知的原因,它给了我一个" Permission Denied" createTempFile方法的例外情况。所以我尝试了一个我发现here的解决方案,每当我在startActivityForResult活动中捕获图像时,它就会永久地处理图像。任何人都知道为什么它停止工作或如何解决它? 编辑:我认为这可能是我的设备的问题,它不是。它在另一台设备上是一样的。

1 个答案:

答案 0 :(得分:0)

我设法搞清楚了。我只需要手动向应用程序本身的文件添加权限,我只对相机进行了操作。 这就是我的所作所为:

//Permission to the camera and files
    if (ContextCompat.checkSelfPermission(this, android.Manifest.permission.CAMERA) == PackageManager.PERMISSION_DENIED)
    {
        ActivityCompat.requestPermissions(this, new String[] {android.Manifest.permission.CAMERA,android.Manifest.permission.WRITE_EXTERNAL_STORAGE }, CAMERA_REQUEST_CODE);
    }