解决Android Q 及以下文件读写问题

Android Q 默认开启沙箱模式 导致出现文件读写失败

需要在使用动态权限申请的情况下在AndroidManifest.xml中加入

android:requestLegacyExternalStorage="true"

AndroidManifest.xml文件内容

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.sdcard">
​<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
​<applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:requestLegacyExternalStorage="true"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/AppTheme"><activity android:name=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN" />
​<category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application>
​
</manifest>

动态权限申请

public Boolean checkPermission() {boolean isGranted = true;if (android.os.Build.VERSION.SDK_INT >= 23) {if (this.checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) !=PackageManager.PERMISSION_GRANTED) {//如果没有写sd卡权限isGranted = false;}if (this.checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) !=PackageManager.PERMISSION_GRANTED) {isGranted = false;}Log.i("cbs","isGranted == "+isGranted);if (!isGranted) {this.requestPermissions(new String[]{Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION,Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE},102);}}return isGranted;
}

实例代码链接

https://github.com/skkily/AndroidQ_SDcardWriter

解决Android Q 文件读写问题 及代码实例相关推荐

  1. android文件读写操作布局文件代码,android实现文件读写功能

    本文实例为大家分享了android实现文件读写功能的具体代码,供大家参考,具体内容如下 读取: public static String _getJsonString(String fileName) ...

  2. 解决python2.x文件读写编码问题

    解决python2.x文件读写编码问题 参考文章: (1)解决python2.x文件读写编码问题 (2)https://www.cnblogs.com/nyist-xsk/p/9681064.html ...

  3. query AjaxUpload实现多文件上传功能代码实例教程

    在PHP网站开发中,文件上传功能时常用到,之前我已介绍过如何利用PHP实现文件上传功能.随着WEB技术的发展,用户体验成为衡量网站成功与否的关键,今天和大家分享如何在PHP中利用Jquery实现Aja ...

  4. python批处理代码_Python文件夹批处理操作代码实例

    如图所示,有一个test文件夹,里面有3个子文件夹,每个子文件夹中有若干图片文件 #场景1 读取一个文件夹中所有文件,存入到一个list表中 #coding:utf-8 from __future__ ...

  5. Android有文件读写权限,无法读写文件 open failed: EACCES (Permission denied) 获取设备唯一不变id 所有文件读写权限按钮无法打开

    最近有个需求,要获取设备唯一id,Android一直没有什么完善的方案获取设备唯一不变的id,我就结合了几种方案组成了一下: 1. 首先获取IMEI; IMEI获取失败后 2. 获取SN序列号,序列号 ...

  6. android zip文件读写,如何直接从.zip文件中读取文件而不在android中提取它

    我过去几个月一直在研究 android,现在我的问题是读取放在SD卡上的.zip文件.我已经成功完成了在SD卡上下载.zip文件的编码. 我有img.zip文件下载到SD卡上.这个img.zip包含5 ...

  7. Android 10 文件读写权限申请

    1.配置androidmaifiest.xml 文件 <manifest xmlns:android="http://schemas.android.com/apk/res/andro ...

  8. android afw 文件读写,在AFW注册后,Android O无法使webview膨胀

    我在Pixel XL设备中使用最新的Android O beta版本. 这是我在xml中的webview. android:id="@ id/launch_anim" androi ...

  9. Android之文件读写

    一.基本概念 在Android应用中保存文件,保存的位置有两处 ①手机自带的存储空间,较小(如200M),适合保存一些小文件,Android中保存位置在data/data/应用包名/files目录 ② ...

最新文章

  1. 一键让二次元老婆微笑,还能把猫脸变成狗脸,这篇CVPR 论文真有趣
  2. python3.6安装pyqt5-Python3.6安装PyQt5的方法
  3. Django从理论到实战(part50)--使用模型来处理上传的文件
  4. [译] Node.js 流: 你需要知道的一切
  5. Java入门学习路线目录索引(持续更新中)
  6. 使用FlyMcu ISP清除 STM32F411CE 芯片卡死
  7. jQuery中id包含特殊字符,以及包含变量时处理。
  8. 考勤系统需求分析(软件工程)
  9. 微信记账小程序-共享账本(附源码及说明),你值得拥有
  10. 帝国cms !--list.var1--,!--list.var2--的终极用法
  11. iOS Xcode:No account for team 5P2U9V6DNN.
  12. 一张图+一个Box+一个TextArea带你DIY不一样的数字键盘
  13. 最简单小米设备怎么不root激活xposed框架
  14. 测绘专业计算机二级,测绘本科毕业,几年具有考二级注册结构师资格?
  15. 使用latex做IEEE ACCESS排版时候,解决模板作者信息之间的距离问题。
  16. Typora 插入图片设置
  17. IDEA中编写Python代码
  18. 买华为手机U8825D的体验
  19. 05LaTeX学习系列之---TeX的命令行操作
  20. docker基础:私库系列:再探Harbor:(5)集成clair

热门文章

  1. 数据结构与算法A实验六图论---7-3 旅游规划(Dijkstra算法)
  2. 漏洞信息收集之——资产梳理
  3. 超简单!Android 播放流媒体
  4. 如何开发旅游地产?——高赢利旅游地产的策划规划方法!
  5. Rust 在这个领域要大放异彩:一本新书推荐(附下载)
  6. 大数据计算系统 Blink 在端侧的应用实践
  7. HCS08/HCS12驱动
  8. 计算机软件公司用ps是,[计算机软件及应用]PS培训.ppt
  9. java iw_java知识回顾 - osc_iwr5mti2的个人空间 - OSCHINA - 中文开源技术交流社区
  10. 行业分析:什么样的公司有前景?深入分析智力密集型行业公司的类型与特征