首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

android 7及更高版本中的“通过Intent.getData()暴露在应用程序之外”错误

在Android 7及更高版本中,通过Intent.getData()暴露在应用程序之外的错误是指应用程序在处理Intent时,可能会将敏感数据通过Intent.getData()方法暴露给其他应用程序,从而导致安全风险。这个错误可能会导致恶意应用程序获取到应用程序的敏感数据,进而进行非法操作或者泄露用户隐私。

为了解决这个问题,Android引入了StrictMode API,开发者可以使用StrictMode来检测并解决这类问题。具体来说,可以通过以下步骤来修复这个错误:

  1. 首先,需要在应用程序的AndroidManifest.xml文件中添加以下权限声明:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />这个权限声明是为了确保应用程序有权限访问外部存储。
  2. 然后,在应用程序的代码中,需要使用StrictMode API来检测并解决潜在的问题。可以在应用程序的入口处(例如Application类的onCreate()方法)添加以下代码:if (BuildConfig.DEBUG) { StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder(); StrictMode.setVmPolicy(builder.build()); }这段代码会在调试模式下启用StrictMode,并设置一个VmPolicy,用于检测潜在的问题。

通过以上步骤,可以修复Android 7及更高版本中的“通过Intent.getData()暴露在应用程序之外”错误,从而提高应用程序的安全性。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云移动应用分析(MTA):提供移动应用数据分析服务,帮助开发者深入了解用户行为和应用性能。了解更多:腾讯云移动应用分析(MTA)
  • 腾讯云移动推送(TPNS):提供移动应用消息推送服务,帮助开发者实现消息推送功能。了解更多:腾讯云移动推送(TPNS)
  • 腾讯云移动直播(MLVB):提供移动直播解决方案,帮助开发者快速构建高质量的移动直播应用。了解更多:腾讯云移动直播(MLVB)
  • 腾讯云移动应用托管(TAPD):提供移动应用托管服务,帮助开发者轻松管理和部署移动应用。了解更多:腾讯云移动应用托管(TAPD)
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android7.0后FileProvider升级安装包导致FileUriExposedException的异常

最近在鼓捣应用升级时遇到了安装失败的问题,抛出了“apk exposed beyond app through Intent.getData()”异常,网上一顿谷歌百度后晓得了,是谷歌在Android7.0...external-cache-path> 表示应用程序内部SD卡存储目录下的 cache/ 目录,共享的完整路径为/storage/emulated/0/Android/data/com.bo.view...path 属性用于指定apk所在的文件夹名,与步骤4中设置的对应,不要弄错了。 name 属性告诉 FileProvider 为共享路径创建一个别名为 apk 的路径字段,可任意。...想要通过 FileProvider 为文件生成 content URI 只能在此处指定目录,除此之外还可以共享其它目录,其标签对应的路径如下: ?...file_path.png 4.最后代码中调用安装apk,此处要判断区分7.0以后和之前版本,因为Android7.0之前使用FileProvider这个方式也会异常。

2.6K31
  • Android包管理机制(一)PackageInstaller的初始化

    通过adb命令安装:adb 命令包括adb push/installAPK的安装方式主要有以下2种: 通过系统安装器packageinstaller进行安装:packageinstaller是系统内置的应用程序...3.寻找PackageInstaller入口 在Android7.0之前我们可以通过如下代码安装指定路径中的APK。..."); context.startActivity(intent); 但是Android7.0或更高版本再这么做,就会报FileUriExposedException异常。...本文的应用情景中,Android7.0以及更高版本我们会使用FileProvider来处理URI ,FileProvider会隐藏共享文件的真实路径,将路径转换成content://Uri路径,这样就会跳转到...本文应用场景中,如果是Android7.0以及更高版本会跳转到InstallStart。

    1.9K30

    2019上半年移动安全报告

    在漏洞方面,根据android开发者的平台,90%的android设备使用android pie之前的版本,而74%的android甚至不运行oreo。...这可能会使手机暴露在严重的漏洞中,这些漏洞需要对系统进行体系结构更改。 恶意软件检测数量比2018年上半年下降了8%,比去年下半年下降了10%。...关于官方应用程序商店中这种常见的恶意软件传播现象,研究显示这些恶意应用程序在被淘汰之前平均可以下载51天。其中一些恶意应用程序甚至可以使用长达138天。...我们可以看到它们主要集中在中国(75%),印度(7%)和中国台湾(4%)。值得注意的是印度在第一批位置中的出现,取代了中国香港的位置。...除了安卓和ios威胁之外,我们不能忘记用户应用程序中发现的漏洞可能与操作系统中的漏洞一样危险,例如最近发现的WhatsApp缺陷允许在引用的消息中进行更改。

    84120

    Android Studio 4.0 稳定版发布了

    1、构建分析器 当将 Android Studio 4.0 与 Android Gradle 插件 4.0.0 及更高版本一起使用时,Build Analyzer 窗口可帮助你了解和诊断构建过程中的问题...通过一个称为 desugaring 的过程,Android Studio 3.0 及更高版本中的 DEX 编译器 D8 已经为Java 8 语言功能(例如lambda表达式,默认接口方法,尝试资源等)提供了实质性支持...这意味着你现在可以在 java.util.streams 支持较旧版本的 Android 的应用程序中,包含仅在最新的Android版本中可用的标准语言API 。...=true 更多可见:《Android Gradle 插件 4.0.0 中 Feature-on-Feature 的依赖关系》 4、依赖元数据 使用 Android Gradle 插件 4.0.0 及更高版本构建应用时...首先,与以前的 Android Studio 版本相比,CPU Profiler 中 CPU 记录的错误率已大大降低。

    4.6K20

    Tomcat与JDK版本对应关系,Tomcat各版本特性

    3.0 1.1 1.1 9.0.x 9.0.27 8及更高版本 3.1 2.3 3.0 1.1 1.1 8.5.x 8.5.47 7及更高版本 3.1 2.3 3.0 1.1 不适用 8.0.x(已取代...) 8.0.53(已取代) 7及更高版本 3.0 2.2 2.2 1.1 不适用 7.0.x 7.0.96 6及更高版本 (WebSocket为7及更高版本) 2.5 2.1 2.1 不适用 不适用 6.0...Alpha / Beta / Stable Tomcat主要有三个版本,主要版本的初始发行通常会从Alpha到Beta,再到Stable Alpha版本可能包含规范中要求的大量未经测试/缺少的功能和/或重大错误...除此之外,它还包括以下改进: Web应用程序内存泄漏检测和预防 改善Manager和Host Manager应用程序的安全性 通用CSRF保护 支持直接在Web应用程序中包含外部内容 重构(连接器,生命周期...Tomcat 6.x的用户应升级到Tomcat 7.x或更高版本。

    8.3K20

    谷歌将彻底淘汰10年前发布的Android版本

    整理 | 孙胜 来自 | CSDN 谷歌近期刚刚发布完Android 12 beat 3,现在又宣布停止维护Android 2.3.7及更低版本的设备。...谷歌通过Android版本的活跃用户数据分析得知,安装Gingerbread版本的设备数量比例低于0.2%,远远落后于其他14个Android版本,所以谷歌决定在这个十年前发布的移动操作系统的棺材上钉上最后一颗钉子...全球移动和平板电脑 Android 版本市场份额 - 2021 年 7 月 官方Android官方论坛的社区经理Zak Pollack宣称,谷歌不允许用户在安装Android 2.3.7及更低版本的设备上登录谷歌账户...由于在旧版本中,许多应用程序和服务都与Google登录账号相关联,虽然Google应用程序可以通过Android Play更新,但是登录Google账号仍然是系统级服务,并且被及时冻结。...Gmail:转到mail.google.com 输入您的用户名和密码 或是把设备更新到基于Android 3.0或者更高版本的系统。

    86810

    Android 样式和主题

    当应用主题背景时,应用或Activity中的每个视图都会应用其支持的每个主题背景属性。除了这些之外,主题还可以将样式应用于非视图元素,例如状态栏和标题栏。...如果希望子视图继承样式,应改为应用具有android:theme样式的属性。 扩展和自定义样式 为保持与平台界面样式的兼容性,应该始终通过扩展框架或支持库中的现有样式来创建自己的样式。...同时为了更高版本的兼容,建议使用支持库来实现,不要包含@android:style/部分,而改用AppCompat。...仅作用于 Lollipop 及更高版本。 (2)colorButtonNormal:Button normal 状态下的背景色。...添加特定于版本的样式 由于android 手机的碎片化,导致市面上各个版本的系统手机都有可能存在,那么,如何在众多的机型中去完美匹配呢?

    1K20

    安卓用户隐私被PhoneSpy入侵、Palo Alto安全设备现零日漏洞|全球网络安全热点

    “通过利用默认安装在Android上的应用程序可访问性工具包,攻击者能够使用该应用程序实施Overlay攻击,以欺骗用户输入信用卡信息,以防止Netflix和Twitter上的虚假帐户泄露。”...IDA Pro是一种将可执行文件转换为汇编语言的应用程序,允许安全研究人员和程序员分析程序的工作方式并发现潜在的错误。安全研究人员通常使用IDA来分析合法软件的漏洞和恶意软件。...11102117:28更新:Palo Alto已更新其公告,以澄清此错误不影响8.1.17之前的PAN-OS8.1以外的版本。...通过对暴露在互联网上的设备的Shodan搜索,Randori最初认为“在面向互联网的资产上暴露了70,000多个易受攻击的实例”。...NCC Group研究人员正在追踪利用SolarWinds Serv-U中的远程代码执行漏洞(CVE-2021-35211)的Clop勒索软件攻击的上升趋势。该漏洞于7月由微软披露。

    75920

    Android 7.0 FileUriExposedException 的处理

    /storage/emulated/0/Android/data/com.skyrin.bingo/cache/app/app.apk exposed beyond app through Intent.getData...这个问题是由于 Android 7.0 权限更改导致,确切的讲是 Android 对权限的进一步管理,从 Android 6.0 的动态权限申请到这个问题可以看出 Google 也是越来越重视 Android...解决问题 官方给出的解决方式是通过 FileProvider 来为所共享的文件 Uri 添加临时权限,详细请看这里 在 标签下添加 FileProvider 节点 表示应用程序内部存储目录下的 cache/ 目录,完整路径为 Android/data/com.xxx.xxx...想要通过 FileProvider 为文件生成 content URI 只能在此处指定目录,以上示例就表示我将要共享 Android/data/com.xxx.xxx/cache/app/ 这个目录,除此之外还可以共享其它目录

    77720

    什么是 Vulkan

    在老的API(例如OpenGL)里,驱动程序会跟踪大量对象的状态,自动管理内存和同步,以及在程序运行时检查错误。这对开发人员非常友好,但是在应用程序经过调试并且正确运行时,会消耗宝贵的CPU性能。...独特的跨 OS 支持 Vulkan™ 能够支持深入硬件底层的控制,为 Windows® 7、Windows® 8.1、Windows® 10 和 Linux® 带来更快的性能和更高的影像质量。...现在,设计Vulkan应用的游戏开发者可以在所有近期版本的Windows和Linux系统中利用这种独特硬件特性。...Vulkan 兼容平台 AMD Radeon Software Crimson 版 16.3 及更新版本在 Windows® 7、Window® 8.1、Windows® 10 和 Linux® 中支持基于次世代图形核心架构的以下...系列 OEM 系统显卡(HD 8570 及更高级别) AMD Radeon™ HD 8000M 系列笔记本显卡 AMD Radeon™ HD 7000 系列显卡(HD 7730 及更高级别) AMD

    4.3K30

    Android 12的行为变更和版本兼容思路

    在手势导航模式下,行为如下: 在视觉上,它与Android 11及更低版本中的沉浸模式相同。 从功能上讲,即使隐藏了栏,也允许使用手势。...对于在Android 11(API级别30)及更低版本(针对Android 12)上运行的应用: 除了BEHAVIOR_SHOW_BARS_BY_TOUCH 映射到之外,预期具有相同的行为BEHAVIOR_SHOW_BARS_BY_SWIPE...通过这种方法,您可以在运行Android 5.0(API级别21)或更高版本(包括Android 12)和WebView 89.0.4385.0或更高版本的任何设备上进行测试。...如果您的测试或开发工作流程使用依赖于应用程序数据adb backup,您现在可以通过在应用程序的清单文件中设置android:debuggable 来选择导出应用程序的数据 true。...连接性 当针对Android 12及更高版本的设备在具有硬件支持的设备上运行时,在创建与对等设备的连接时,使用对等连接不会断开您现有的Wi-Fi连接。

    4.6K10

    如何设计一个牛逼的API接口

    如果接口保证不了安全性,那么你的接口相当于直接暴露在公网环境中任人蹂躏。...两者的区别也很明显,GET请求会将参数暴露在浏览器URL中,而且对长度也有限制。为了更高的安全性,所有接口都采用POST方式请求。...第二次调用,查询redis,如果key存在,则证明是重复提交,直接返回错误。 三 数据规范问题 3.1 版本控制 一套成熟的API文档,一旦发布是不允许随意修改接口的。...除此之外,一个好的API还少不了一个优秀的接口文档。接口文档的可读性非常重要,虽然很多程序员都不喜欢写文档,而且不喜欢别人不写文档。...为了不增加程序员的压力,推荐使用swagger或其他接口管理工具,通过简单配置,就可以在开发中测试接口的连通性,上线后也可以生成离线文档用于管理API。

    82020

    如何设计一个牛逼的API接口(技术创作101训练营)

    一 安全性问题 安全性问题是一个接口必须要保证的规范。如果接口保证不了安全性,那么你的接口相当于直接暴露在公网环境中任人蹂躏。...两者的区别也很明显,GET请求会将参数暴露在浏览器URL中,而且对长度也有限制。为了更高的安全性,所有接口都采用POST方式请求。...第二次调用,查询redis,如果key存在,则证明是重复提交,直接返回错误。 三 数据规范问题 3.1 版本控制 一套成熟的API文档,一旦发布是不允许随意修改接口的。...除此之外,一个好的API还少不了一个优秀的接口文档。接口文档的可读性非常重要,虽然很多程序员都不喜欢写文档,而且不喜欢别人不写文档。...为了不增加程序员的压力,推荐使用swagger或其他接口管理工具,通过简单配置,就可以在开发中测试接口的连通性,上线后也可以生成离线文档用于管理API。

    1.3K187170

    Android SDK 开发(第一部分)

    SDK 中功能模块的具体实现则是 Library 的主要职责。各模块之间的通信以及 SDK 所能提供的服务则通过 API 体现出来。...而自 Android 6.0 开始则使用了全新的权限控制系统,除了以上权限控制的机制之外,还会在应用程序访问特定系统功能时(比如使用蓝牙模块),也会通过弹出窗口的形式的进行通知。...相对应的,在 SDK 开发过程中,我们应该为 Android 6.0 及以上版本单独做权限方面的适配工作。 那么,作为第三方服务的 SDK 一定要遵循的一个原则就是:最小权限原则。...实际上,在经历了多次的错误决策之后才可能接近正确的决策。 这正是 API 设计中迭代的意义。...API 一旦对外发布,其内部实现以及方法签名原则上处于不可变更状态: 如果需要修改 API 的内部实现,在保证方法签名不变的情况下,API 必须通过测试用例的边界及功能测试,并尽可能的给出原 API 实现的备份

    1.2K21

    默认情况下 80% 的 Android 应用正在使用加密流量

    而对于直接针对 Android 9 的应用,该数字甚至更高,达到 90%。这意味着进入或离开这些应用程序之一的流量是经过加密的,第三方无法拦截或读取。...据悉,自 2017 年以来,谷歌一直在推动 Android 开发人员将加密流量集成到其应用程序中,以便在应用程序通过Internet或网络进行通信时提供更好的安全性和隐私性。...在 2018 年发布的 Android 9 中,Google 进一步采取了措施,使所有以 Android 9 或更高版本为目标的应用程序都将自动使用默认策略,以阻止应用程序使用未加密的流量。...除了 Android 应用程序制造商之外,Google 还成功地推动了网站采用 HTTPS 代替易受攻击的 HTTP 协议。...例如,现在 Android 中的 Chrome 内加载的所有网站中,有 89% 是通过 HTTPS 加载的。在 Windows 版 Chrome 上,这个数字是 84%。

    41620
    领券