zhangzxpan 2023-03-01 22:13 采纳率: 76.5%
浏览 23
已结题

近期版本android保存图片读写权限该怎么增加?

我有一个本地要保存的地址path,以及一个Bitmap数据,现在要把Bitmap保存成图片存放在path中,权限一直不被通过,提示如下信息:

W/System.err: java.io.FileNotFoundException: /storage/emulated/0/DCIM/Camera/IMG_20230225_071514.jpg (Permission denied)

请问该如何解决?

  • 写回答

2条回答 默认 最新

  • CodeBytes 2023-03-01 22:25
    关注

    该回答引用ChatGPT

    如果有疑问可以回复我

    如果您的应用程序需要读写外部存储器,您需要在AndroidManifest.xml文件中请求相应的权限。

    在AndroidManifest.xml文件中添加以下权限:

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    
    

    另外,从Android 11开始,访问共享存储(shared storage)上的文件需要申请特殊权限。要在应用程序中访问共享存储,请在AndroidManifest.xml文件中添加以下权限:

    <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
    
    

    您可以使用以下代码检查是否已授予这些权限:

    if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
        // Permission is not granted
    }
    
    

    如果权限没有被授予,您可以使用以下代码请求这些权限:

    ActivityCompat.requestPermissions(this, new String[] {Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE}, REQUEST_CODE);
    
    

    在您的情况下,如果权限已经被授予,但仍然出现"Permission denied"错误,请确保您已经在运行时请求了这些权限。如果权限请求被拒绝,则应该向用户解释为什么应用程序需要这些权限,并尝试再次请求这些权限。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月9日
  • 已采纳回答 3月1日
  • 创建了问题 3月1日