Android 13 WRITE_EXTERNAL_STORAGE , READ_EXTERNAL_STORAGE不弹出的问题

这篇具有很好参考价值的文章主要介绍了Android 13 WRITE_EXTERNAL_STORAGE , READ_EXTERNAL_STORAGE不弹出的问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

解决Android 13 WRITE_EXTERNAL_STORAGE , READ_EXTERNAL_STORAGE不弹出的问题

在Android 13(API 33)之前,加入了如下代码

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

如果 compileSdk 设置 32 或者以下,那么就没什么问题。当设置33 或者以上,系统就会自动设置无权限。那在 33 及以上的怎么设置呢?
看下面的代码。
在xml中如下设置

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"  android:maxSdkVersion="32"  />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"  android:maxSdkVersion="32"  />
    <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
    <uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
    <uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />

动态获取权限的代码如下:文章来源地址https://www.toymoban.com/news/detail-860356.html

 if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
            if (checkSelfPermission(REQUESTED_PERMISSIONS[0], PERMISSION_REQ_ID)
             &&  checkSelfPermission(REQUESTED_PERMISSIONS[1], PERMISSION_REQ_ID)
                    &&  checkSelfPermission(REQUESTED_PERMISSIONS[3], PERMISSION_REQ_ID ) 
                    &&  checkSelfPermission(REQUESTED_PERMISSIONS[4], PERMISSION_REQ_ID ) 
                    &&  checkSelfPermission(REQUESTED_PERMISSIONS[5], PERMISSION_REQ_ID )) {
        // 获取到权限,开始你的代码
            }
        } else  {
            if (checkSelfPermission(REQUESTED_PERMISSIONS[0], PERMISSION_REQ_ID) 
            &&  checkSelfPermission(REQUESTED_PERMISSIONS[1], PERMISSION_REQ_ID) 
            &&  checkSelfPermission(REQUESTED_PERMISSIONS[2], PERMISSION_REQ_ID ) ) {
        // 获取到权限,开始你的代码
            }
        }


    private boolean checkSelfPermission(String permission, int requestCode) {
        if (ContextCompat.checkSelfPermission(this, permission) != PackageManager.PERMISSION_GRANTED) {
            ActivityCompat.requestPermissions(this, REQUESTED_PERMISSIONS, requestCode);
            return false;
        }

        return true;
    }

    @Override
    public void onRequestPermissionsResult(int requestCode,  @NonNull String[] permissions, @NonNull int[] grantResults) {
        if (requestCode == PERMISSION_REQ_ID) {
        
            if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
                if (grantResults[0] != PackageManager.PERMISSION_GRANTED 
                ||   grantResults[1] != PackageManager.PERMISSION_GRANTED
                        ||  grantResults[3] != PackageManager.PERMISSION_GRANTED
                        ||  grantResults[4] != PackageManager.PERMISSION_GRANTED
                        ||  grantResults[5] != PackageManager.PERMISSION_GRANTED ) {
        // 未获取到权限,开始你的代码
                    return;
                }
            } else  {
                if (grantResults[0] != PackageManager.PERMISSION_GRANTED 
                ||   grantResults[1] != PackageManager.PERMISSION_GRANTED 
                ||  grantResults[2] != PackageManager.PERMISSION_GRANTED ) {
        // 未获取到权限,开始你的代码
                    return;
                }
            }

        // 获取到权限,开始你的代码
        }
    }
    

到了这里,关于Android 13 WRITE_EXTERNAL_STORAGE , READ_EXTERNAL_STORAGE不弹出的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【错误记录】Android Studio 创建 Module 模块报错 ( Cannot resolve external dependency org.jetbrains.kotlin:kotl )

    目前使用的是 最新的 Gradle 配置 , 创建 Module 生成的源码与 Gradle 配置出现了冲突 , 导致的问题 ; 解决此类问题 , 要仔细检查 Gradle 构建脚本 , 排查每个依赖库的来源 ; 本次错误就是 AS 系统自动成的 Module 修改了 Gradle 构建脚本 , 导致依赖下载失败 ; 在 Android Studio 的 已存在 工

    2024年02月08日
    浏览(35)
  • Android ExternalStorage读写权限问题(Access to the path “/storage/emulated/0/...“ is denied)

    现象: 从android10.0开始,不管manifest里是否添加读写权限,都不可以直接访问内部存储路径 为什么 1、因为很多App在安装以后,会在 /storage/emulated/0 下随意创建各种文件/文件夹,导致手机内部存储目录十分混乱,而且app卸载以后,这些文件不会被卸载掉,遗留垃圾文件,造成

    2024年02月14日
    浏览(31)
  • Android 13 - Media框架(13)- OpenMax(一)

    这一节我们将了解Android OpenMax框架,该框架了解完成之后,我们会再回过头去了解 ACodec,将 MediaCodec - ACodec - OpenMax 连接起来,了解组件的创建控制以及 buffer 的流转。 本篇属于个人学习笔记,如有错误欢迎指出。 我将Android OpenMax框架分为3个部分来学习: media.codec service:

    2024年02月06日
    浏览(27)
  • Android WiFi Service启动-Android13

    Android WiFi基础概览 AOSP 文档 心主题 WiFi概览 编译生成对应的jar包: \\\"/apex/com.android.wifi/javalib/service-wifi.jar\\\" 相关WiFi服务: WifiService 、 WifiScanningService 、 RttService 、 WifiAwareService 、 WifiP2pService frameworks/base/services/java/com/android/server/SystemServer.java WifiInjector.java : WiFi依赖性注入器。

    2024年01月21日
    浏览(31)
  • android相机、相册相关(android13 适配)13又又又又又又搞事,让第三方难以生存,踩坑

    前几天公司开发的新项目要上线,结果...... 由于项目中有用户更换头像功能,应用市场经过检测android13无法更换头像,也没有崩溃也没有反应,所以App就被无情退回,相当无奈,那就查问题,手头有没有android13测试机,怎么办,怎么办,怎么办...那就想办法,还好vivo有云测

    2024年02月06日
    浏览(54)
  • android8、android13自适应图标适配

    前言:为了解决应用图标在不同android手机上的外观样式问题,google官方在android8和android13两个版本做了变更(这2个版本都提供了向下兼容),下文介绍适配方法以及 注意事项(此处有彩蛋) 。 一、android8(API27)适配 1、找到资源文件夹:mipmap-anydpi-v26(若旧的as里没有默认生成,

    2024年02月09日
    浏览(43)
  • 【Android 】android13 新权限获取 读写文件权限

    android13 新权限获取 参考:Android 13(API 33)读写SD卡权限的调整适配 - Mr,Han - 博客园 android在 获取文件读写权限(尤其是音视频、图片等等资源)的权限获取逻辑更换了。 必须申请如下权限: 这段逻辑可以看上面的文件拷贝类的代码:

    2024年02月04日
    浏览(47)
  • Android 13 版本变更总览

    https://developer.android.google.cn/about/versions/13?hl=zh-cn 文章基于官方资料上提取 https://developer.android.google.cn/about/versions/13/summary?hl=zh-cn https://developer.android.google.cn/about/versions/13/behavior-changes-all?hl=zh-cn 性能和电池 前台服务 (FGS) 任务管理器 (https://developer.android.google.cn/guide/components/f

    2024年02月07日
    浏览(29)
  • Android 13 适配指南

    是的,你没看错,现在就要带你适配 Android13 。 2022 的Google I/O 发布了 Android 13 beta 2 和 Android 13 Beta 1 国内厂商的设备支持列表,虽然按照惯例, Android 13 应该是年末才发布正式版,但是相信有的开发者已经收到了平台的 Android13 的适配要求,所以本篇也是结合 Oppo 的 Android 1

    2024年02月05日
    浏览(32)
  • 屏幕超时休眠-Android13

    packages/apps/Settings/src/com/android/settings/display/ScreenTimeoutSettings.java packages/apps/Settings/res/xml/screen_timeout_settings.xml Settings.System.SCREEN_OFF_TIMEOUT packages/apps/Settings/res/values/arrays.xml 1.2.1 默认值 def_screen_off_timeout : frameworks/base/packages/SettingsProvider/res/values/defaults.xml frameworks/base/packages/Settin

    2024年04月23日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包