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

标签 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);
}

它曾经工作得很好,但现在由于某种未知的原因,它给了我 createTempFile 方法的“权限被拒绝”异常。所以我尝试了一个解决方案,我找到了here ,并且每当我在 startActivityForResult Activity 中捕获图像时,它都会永远处理该图像。任何人都知道为什么它突然停止工作或如何修复它? 编辑:我认为这可能是我的设备的问题,但事实并非如此。在另一台设备上也是一样的。

最佳答案

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

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

关于java - createTempFile 工作正常,现在权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50104314/

相关文章:

java - 即使在调用中断方法后线程也不会中断

java - 什么是脸颊新闻 Activity ?

java - 使用自定义序列化器从 avro 读取时,RDD 中的运行时类型错误

java - 从java中的子类调用泛型方法

java - 如何使用 Grails 3.0 配置 PostgreSQL?

java - 如何使用 exoplayer 全屏播放视频?

android - 从首选项标题开始 Activity

java - LambdaJ:为什么我们不能在 select 子句中应用操作?

java - Embedded Jetty 找不到 Annotated Servlet

Android:webview 可以自动登录 App Engine 应用程序吗?