主要观点总结
本文介绍了关于Android媒体权限的相关问题,包括适配不同Android版本中的媒体权限变更、解决特定bug的方法等。文章首先描述了bug的背景和日志信息,然后详细阐述了Android不同版本中的媒体权限变化,包括文件存储方式、动态申请权限、作用域存储等概念。接着介绍了特定权限如MANAGE_EXTERNAL_STORAGE的作用和使用方法。最后,结合bug日志信息,分析了问题的原因,并给出了两种解决方案。
关键观点总结
关键观点1: 文章介绍了Android媒体权限的背景和变更
包括适配不同Android版本中的媒体权限变更、文件存储方式、动态申请权限、作用域存储等概念。
关键观点2: 特定权限如MANAGE_EXTERNAL_STORAGE的介绍和使用方法
MANAGE_EXTERNAL_STORAGE权限用于管理所有共享存储内容,包括非媒体类型的文件。使用时需要在AndroidManifest.xml中声明,并通过特定操作引导用户前往设置页面授予权限。
关键观点3: bug的原因分析
根据日志信息分析了Mutation of _data不允许的原因,并指出与targetSdk版本、MediaStore.MediaColumns.DATA列以及用户是否授予MANAGE_EXTERNAL_STORAGE权限有关。
关键观点4: 解决方案的提出
针对问题,提出了两种解决方案:申请MANAGE_EXTERNAL_STORAGE权限或者去掉values中MediaStore.Images.Media.DATA的更新。
文章预览
出处: https://www.cnblogs.com/joy99/p/17809113.html 一、bug 背景 项目中有下面这样一段代码,在 Android T 版本运行正常,现在适配到 Android U 上之后,运行时 crash 了。。。。 ... values.put(MediaStore.Images.Media.DATA, file.absolutePath) values.put(MediaStore.Images.Media.DISPLAY_NAME, file.name) ... resolver.update(uri, values, null, null) 大概的错误信息如下: 因为涉及到 Android 的媒体权限,这篇文章主要是针对 Android 媒体权限做的一些总结。 二、Android 数据存储 随着 Android 版本迭代,官方也在不断优化 Android 数据存储方式,其中涉及到数据存储的性能、安全性、用户隐私等诸多因素。 如今,最新的官方文档的介绍如下: Android 使用的文件系统提供了如下几种保存应用数据的选项: 应用专属存储空间: 存储仅供应用使用的文件,可以存储到内部存储卷中的专属目录或外部存储空间中的其他
………………………………