在 Android 11 上使用第三方 SDK 向其他应用分享文件的注意事项
隐私和安全 是我们设计 Android 的核心,随着每一个新版本的发布,我们都会加大这一方面的投入。Android 11 也持续在这些领域取得重要进展。
Android 11 (API 级别 30) 进一步增强了平台功能,为外部存储中的应用和用户数据提供了更好的保护。从 Android 11 开始,使用 分区存储模式 的应用即使拥有 READ_EXTERNAL_STORAGE 权限,也无法再访问外部存储中的任何其他应用的 专属目录 中的文件。
受到这一限制的影响,如果您的应用通过第三方 SDK 分享文件 (例如分享照片给另一应用上的好友) 到其他应用,而这只是将自己专属目录中的文件路径传递给目标应用,目标应用将无法读取该文件。部分分享 SDK 可能没有正确处理这种情形,没有显式报错而只是静默失败 (对方用户都没有意识到这次分享),影响开发者和用户的体验。
如果您的应用需要在 Android 11 上向其他应用分享文件,请检查您使用的第三方分享 SDK 是否支持通过 FileProvider 进行分享 (现在大部分常用的第三方分享 SDK 均已支持)。通过 FileProvider,您的应用能够允许第三方应用读取所分享的文件,而不会受到分区存储的限制。
- 请参阅 FileProvider 的开发者文档及相关的示例代码
- 如想了解更多,请参阅我们关于 Android 11 的开发者文档

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Mybatis 源码分析(一)SQLSession 初始化
这次打算写一个 Mybatis 源码分析的系列,大致分为 Mybatis 启动流程分析 Mybatis 的SQL 执行流程分析 Mybatis 的拓展点以及与 Spring Boot 的整合 这篇文章先来分析 Mybati初始化流程,如何读取配置文件到,以及创建出 SqlSession 示例.主要内容包括 读取、解析mybatis 全局配置文件 映射 mapper.java 文件 解析 mapper.xml 文件 解析 mapper.xml 各个节点配置,包括 namespace、缓存、增删改查节点 Mybatis 缓存机制 构建DefaultSqlSessionFactory 什么是 SQLSession SQLSession对外提供了用户和数据库之间交互需要的所有方法,隐藏了底层的细节。默认实现类是DefaultSqlSession SQLSession 创建示例 通过一个mybatis 官方提供的示例,看下如何手动创建 SQLSession //Mybatis 配置文件,通常包含:数据库连接信息,Mapper.class 全限定名包路径,事务配置,插件配置等等 String re...
- 下一篇
Linkis JDBC模块设计介绍
目录 一、背景介绍 二、使用介绍 (1)引入依赖模块 (2)建立测试类 三、JDBC模块设计方案 (1)驱动类UJESSQLDriver (2)JDBC连接器UJESSQLConnection ( 3)执行对象UJESSQLStatement/UJESSQLPreStatement (4)结果集UJESSQLResultSet (5)错误码方案 四、实现方案总结 五、参考文献 相关文章分享: Linkis JDBC是如何适配Tableau的? 01 — 背景介绍 Linkis作为大数据平台中间件,连接了底层的计算存储和上层的开发应用,统一了任务的调度和执行,在JDBC模块开发出来之前,向Linkis提交SQL执行任务到Spark、Hive执行支持websocket和restful的方式。为了多样化与Linkis的交互方式,便捷用户开发流程,轻量化客户端的任务提交过程,JDBC的支持无疑是非常值得考虑的。 JDBC(Java Data Base Connectivity, java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Jav...
相关文章
文章评论
共有0条评论来说两句吧...