我有这个代码,它是我拍摄的照片的一部分:
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
活动中捕获图像时,它就会永久地处理图像。任何人都知道为什么它停止工作或如何解决它?
编辑:我认为这可能是我的设备的问题,它不是。它在另一台设备上是一样的。
答案 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);
}