Android 6.0以后的版本报错:open failed: EACCES (Permission denied)

就上篇文章来说遇到的问题,在华为手机7.0上面,保存相册到手机没有任何问题,但是在我的小米手机保存就出现了这个问题

open failed: EACCES (Permission denied)

遇到事情不能慌,先冷静一下

思索再三觉得是没有动态申请但是7.0手机怎么可以呢?抽风啊,

百度一下吧参考这篇博文附上链接
Android 6.0以后的版本报错:open failed: EACCES (Permission denied) - 云+社区 - 腾讯云

于是我就按照上面操作了一番

步骤如下:

1.检查AndroidManifest.xml文件中是否配置了权限 

    <!-- 储存卡的读写权限 -->
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

2.是否创建了src/main/res/xml/network_security_config.xml

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <certificates src="system" />
            <certificates src="user" />
        </trust-anchors>
    </base-config>
</network-security-config>

3.针对10.0版本以上有个缓存区需要在AndroidManifest.xml文件的Application中添加
 

 android:requestLegacyExternalStorage="true"

4.看有的博文说需要将compileSdkVersion版本调制27以下(ps:我觉得不可行就没采取)
 

5.动态权限申请

 if (Build.VERSION.SDK_INT >= 23) {
                                if (ActivityCompat.checkSelfPermission(PosterActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE)
                                        != PackageManager.PERMISSION_GRANTED) {
                                    // 申请一个(或多个)权限,并提供用于回调返回的获取码(用户定义)
                                    ActivityCompat.requestPermissions(PosterActivity.this, new String[]{
                                            Manifest.permission.WRITE_EXTERNAL_STORAGE
                                    }, REQUEST_STATE_CODE);
                                } else {
                                    //通知图库更新
                                    String savePic = savePic(bitmap);//把获取到的Bitmap对象压缩图片保存到本地中sdcard
                                    img_poster_bg.setImageBitmap(bitmap);//在把获取到的Bitmap对象在imageView中显示出来
                                    ToastUtil.showCenterToast("保存图片到相册成功");
                                }
                            } else {
                                //通知图库更新
                                String savePic = savePic(bitmap);//把获取到的Bitmap对象压缩图片保存到本地中sdcard
                                img_poster_bg.setImageBitmap(bitmap);//在把获取到的Bitmap对象在imageView中显示出来
                            }
其实吧我加上这些之后还是给我提示权限问题,我就有点小慌了,起初我测试没问题打包让测试测,然后老大提出一些布局瑕疵,我就开始改,但是就出现了这个权限问题,改来改去的,最后一顿操作猛如虎,还是没有卵用,百度了好大一波,都是这个几个点,我就开始重启as,clean  甚至rebuild  不一会又好了  我也搞不懂了,其实吧这个点还是有效果的吧

 先这样吧,别的也不多说了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是阿亮啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值