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

安卓开发基础教程-使用隐式意图打开系统内置应用,干货

上次课程:安卓开发基础教程-Android多界面应用程序开发 实现的功能: 点击按钮实现打开系统内置浏览器,并访问百度的功能。 ?...通过这种setClass进行跳转的方式叫做显式意图。 当然如果在自己本应用之内,使用显式意图,效率更高。...使用隐式意图打开本应用内界面。了解整个过程。 通过隐式意图打开系统内置浏览器 下面是重头戏。 隐身意图 下面使用隐身意图,打开自己应用内一个新界面SecondActivity。...隐式意图AndroidManifest最简单配置 AndroidManifest配置完毕,就可以使用隐身意图去打开了: ? 使用隐式意图打开新界面 协议、host、数据类型 ?...我们使用圈中的intent-fliter。 实现跳转到浏览器: ? 打开浏览器 END.

1.3K20

win10win11需要使用新应用以打开此Windowsdefender链接

需要使用新应用以打开此Windowsdefender链接 修复 Windows 打不开 Windows安全中心 第一步 win10/win11 菜单栏输入 PowerShell 管理员启动 管理员权限打开...-DisableDevelopmentMode:指定应用不会以开发模式进行安装。若不使用此选项,可能会导致无法加载其他依赖。...-Register:指示 PowerShell 使用指定的清单文件(AppXManifest.xml)来注册 AppX 应用。这通常用于在应用已经存在但可能未被正确注册的情况下重新注册应用。...$PSVersionTable.PSVersion 版本确认 我的版本 5.1.19041.1 表示了以下内容: 主版本号: 5 次版本号: 1 内部版本号: 19041 修订号: 1 这意味着你在使用的...重新注册应用: 使用以下命令重新注册所有内置的 UWP 应用程序: Get-AppxPackage -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode

16910
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android deeplink漏洞

    Android 应用程序链接是通过添加使用 URL 打开应用程序内容的意图过滤器并验证是否允许应用程序打开这些网站 URL 来设置的。...验证需要执行以下步骤:http/https 请求清单中的自动应用程序链接验证。这向 Android 系统发出信号,表明它应该验证应用程序是否属于意图过滤器中使用的 URL 域。...通过在以下位置托管数字资产链接JSON 文件来声明网站和意图过滤器之间的关系:https://domain.name/.well-known/assetlinks.json 如果系统成功验证允许应用程序打开某个...versions Android 6.0 and higher 0x01 安全问题 访问任意组件 应用程序可以实现自己的意图解析器来使用 JSON 对象、字符串或字节数组来处理深度链接,这些对象、字符串或字节数组可以扩展...deep link和app link都可以使用该https方案,开发人员可以为deep link配置意图过滤器。

    78640

    安卓应用安全指南 4.4.2 创建使用服务 规则书

    " android:exported="false"/> 另外,这种情况很少见,但是当服务仅在应用中使用时,不要设置意图过滤器。...原因是,由于意图过滤器的特性,可能会意外调用其他应用中的公共服务,虽然你打算调用应用内的私有服务。 AndroidManifest.xml(不推荐) 使用显式意图(必需) 当通过隐式意图使用服务时,如果意图过滤器的定义相同,则意图会发送到首先之前的服务。...如果之前安装了恶意软件,它故意定义了同一个意图过滤器,则意图会发送到恶意软件并发生信息泄露。 另一方面,当通过显式意图使用服务时,只有预期的服务会收到意图,所以这样更安全。...4.4.2.7 如果与其他公司的应用链接,验证目标服务(必需) 与其他公司的应用链接时,确保确定了白名单。 你可以通过在应用内保存公司证书的散列副本,并使用目标应用的证书散列来检查它。

    96910

    Android 必知必会 - 使用 Intent 打开第三方应用及验证可用性

    如果移动端访问不佳,请使用 => GitHub 版 本文主要记录: 使用 Intent 打开第三方应用或指定 Activity 的三种方式 使用上面三种方式时分别如何判断该 Intent...那么,这个应用将在桌面看不到 icon,无法直接打开了。...使用 Intent 打开第三方应用或指定 Activity 的方式 只知道包名 - 需要有默认的入口 Activity 启动指定第三方应用的 Activity - 需要包名和 Activity 名,且该...、发邮件、预览图片、使用默认浏览器打开一个网页等。...) 来源: Android 启动第三方应用的几种方法(整理) 隐式启动功能繁多,就不一一列举了,需要时直接搜索相关代码即可,我们用打开一个网页为例: Uri uri = Uri.parse("http

    4.4K40

    安卓应用安全指南 4.7 使用可浏览的意图

    这个功能被称为“可浏览的意图”。 通过在清单文件中指定 URI 模式,应用将响应具有其 URI 模式的链接转移(用户点击等),并且应用以链接作为参数启动。...此外,使用 URI 模式从浏览器启动相应应用的方法不仅支持 Android,也支持 iOS 和其他平台,这通常用于 Web 应用与外部应用之间的链接等。...使用“可浏览的意图”来对付这些风险时有一些要注意的地方。 4.7.1 示例代码 使用“可浏览的意图”的应用的示例代码如下: 要点: 1) (网页侧)不得包含敏感信息。...getData获取),并且带有相应意图过滤器的应用,从 Android 系统启动。...此时,当几个应用设置意图过滤器来接收相同的 URI 模式时,应用选择对话框将显示,与隐式意图正常启动相同,并启动用户选择的应用。

    54510

    安卓应用安全指南 4.4.3 创建使用服务高级话题

    表 4.4-3 导出属性的值 True False 意图过滤器已定义 公共 (不使用) 意图过滤器未定义 公共,伙伴,内部 私有 如果服务中的导出属性是未指定的,服务是否公开由是否定义了意图过滤器决定...不应该使用未定义的意图过滤器和导出属性false的原因是,Android 的行为存在漏洞,并且由于意图过滤器的工作原理,可能会意外调用其他应用的服务。...具体而言,Android 的行为如下,因此在设计应用时需要仔细考虑。 当多个服务定义了相同的意图过滤器内容时,更早安装的应用中的服务是优先的。...如果使用显式意图,则优先的服务将被自动选择并由 OS 调用。 以下三张图描述了一个系统,由于 Android 行为而发生意外调用的。...由于这个漏洞,敏感信息可能会从应用 A 发送到应用 B。 如果应用 B 是恶意软件,它会导致敏感信息的泄漏。 如上所示,使用意图过滤器向私有服务发送隐式意图,可能会导致意外行为,因此最好避免此设置。

    97120

    安卓应用安全指南 4.1.2 创建使用活动 规则书

    4.1.2.1 仅在应用内部使用的活动必须设置为私有(必需) 仅在单个应用中使用的活动,不需要能够从其他应用接收任何意图。..." android:label="@string/app_name" android:exported="false" /> 意图过滤器不应该设置在仅用于单个应用的活动中。...由于意图过滤器的特性,以及工作原理,即使您打算向内部的私有活动发送意图,但如果通过意图过滤器发送,则可能会无意中启动另一个活动。...除非用户需要确定意图应该发送到哪个应用活动,否则应该使用显式意图并提前指定目标。...4.1.2.10 如果与其他公司的应用链接,请验证目标活动(必需) 与其他公司的应用链接时,确保确定了白名单。 您可以通过在应用内保存公司的证书散列副本,并使用目标应用的证书散列来检查它。

    1.3K20

    隐式意图和显式意图的使用场景

    激活系统的某些应用,并且往应用里面填一些数据,比如说短信应用 打开短信应用,查看logcat,找到ActivityManager, 看到Display.com.android.mms/.ui.ComposeMessageActivity...查看短信源代码的清单文件,可以看到,一个activity节点下面可以有多个intent-filter,一个意图过滤器里面可以设置多个action,category,data满足一个就可以。...测试一下, 获取Intent对象,new出来 调用Intent对象的setAction()方法,参数:”android.intent.action.SENDTO” 调用Intent对象的addCategory...区别: 显式意图:同一个应用程序里面,自己激活自己,推荐使用,指定包名类名 隐式意图:不同的应用程序里面,激活别人的程序,或者被别人激活,推荐使用 隐式意图会查询系统里面的所有activity,如果有符合条件的就会直接启动..."); intent.addCategory("android.intent.category.DEFAULT"); intent.setData(Uri.parse("

    1.1K20

    安卓应用安全指南 4.2.3 创建使用广播接收器 高级话题

    下面介绍为什么原则上禁止使用带有意图过滤器定义的exported ="false"。...表 4.2-3 可用与否,导出属性和意图过滤器元素的组合 导出属性的值 True False 意图过滤器已定义 OK 不使用 意图过滤器未定义 OK OK 未指定接收器的导出属性时,接收器是否为公共的...图 4.2-5 是个例子,应用 B 和应用 A 中都定义了意图过滤器(见图中的action ="X")的。首先,当另一个应用(应用 C)通过 隐式意图发送广播,它们不被私有接收器(A-1)接收。...从安全角度来看,问题是应用 A 对同一应用中的私有接收器的调用。 当应用 A 广播隐式意图时,不仅是相同应用中的私有接收器,而且具有相同意图过滤器定义的公共接收器(B-1)也可以接收意图。...然而,当广播接收器仅接收由系统发送的广播意图时,应使用带有意图过滤器定义的exported="false"。 其他组合不应使用。

    1K10

    安卓应用安全指南 4.1.3 创建使用活动 高级话题

    导出属性的值 True 意图过滤器已定义 公开 意图过滤器未定义 公开、伙伴、内部 表 4.1-2 当未指定Activity的导出属性时,Activity是否为公开的,取决于Activity的意图过滤器的存在与否...不应该使用未定义的意图过滤器和导出属性false的原因,是 Android 的行为存在漏洞,并且由于意图过滤器的工作原理,其他应用的活动可能会意外调用它。下面的两个图展示了这个解释。...图 4.1-4 是一个正常行为的例子,其中私有活动(应用 A)只能由同一个应用的隐式Intent调用。 意图过滤器(action ="X")被定义为仅在应用 A 内部工作,所以这是预期的行为。...下面的图 4.1-5 展示了一个场景,其中在应用 B 和应用 A 中定义了相同的意图过滤器(action ="X")。...由于这个漏洞,可能会将敏感信息发送到其他应用,或者应用可能会收到意外的返回值。 如上所示,使用意图过滤器,将隐式意图发送到私有应用,可能会导致意外行为,因此最好避免此设置。

    1.4K20

    从零开始学Android应用安全测试(Part4)

    它可以通过与Dalivik VM,其它应用程序的IPC端点以及底层操作系统的交互,避免正处于开发阶段,或者部署于你的组织的Android应用程序和设备暴露出不可接受的安全风险。...Drozer提供了很多Android平台下的渗透测试exploit供你使用和分享。...在Drozer中有一个模块列表,其中的Android’s Inter-Process communication模块可实现与安卓应用进行交互。...你还需要设置端口转发,这样你的计算机可以TCP连接到设备或者虚拟设备中的Agent.apk,默认Drozer使用的端口为31415。 然后保证打开Agent.apk应用以及启动服务。...调用insecure bank应用中的activity,我们可以使用app.activity.start模块来完成。 你可以看到相同的结果 在本例中,Activity可能有一个意图过滤器。

    1K50

    Android安全之应用层安全(五)

    所有其他组件类型通过Intent(意图)激活。 意图是 Android 中基于Binder框架的特殊通信手段。意图被传递给执行组件调用的方法。被调用的组件可以被两种不同类型的意图调用。...例如,用户想要在应用中选择图片。应用的开发人员可以使用显式意图或隐式意图来调用选择图片的组件。...对于第一种意图类型,开发人员可以在他的应用的组件中实现挑选功能,并使用带有组件名称数据字段的显式意图调用此组件。当然,开发人员可以调用其他应用的组件,但是在这种情况下,他必须确保该应用安装在系统中。...根据这个信息,使用意图过滤器,操作系统选择可以处理意图的适当组件。意图过滤器定义了组件可以处理的意图的“模板"。当然,相同的应用可以定义一个意图过滤器,它将处理来自其他组件的意图。...如果另一个应用想要使用TestActivity提供的功能,它必须请求使用此权限,类似于第 16 行中的操作。 ?

    1K20

    浅入浅出 Android 安全:第五章 Android 应用层安全

    所有其他组件类型通过Intent(意图)激活。 意图是 Android 中基于Binder框架的特殊通信手段。意图被传递给执行组件调用的方法。被调用的组件可以被两种不同类型的意图调用。...例如,用户想要在应用中选择图片。应用的开发人员可以使用显式意图或隐式意图来调用选择图片的组件。...对于第一种意图类型,开发人员可以在他的应用的组件中实现挑选功能,并使用带有组件名称数据字段的显式意图调用此组件。当然,开发人员可以调用其他应用的组件,但是在这种情况下,他必须确保该应用安装在系统中。...根据这个信息,使用意图过滤器,操作系统选择可以处理意图的适当组件。意图过滤器定义了组件可以处理的意图的“模板”。当然,相同的应用可以定义一个意图过滤器,它将处理来自其他组件的意图。...如果另一个应用想要使用TestActivity提供的功能,它必须请求使用此权限,类似于第 16 行中的操作。

    54330

    四大组件的纽带——Intent

    Intent不仅是封装Android应用程序需要启动某个组件的“意图”,还是应用程序组件之间通信的重要媒介。本节开始来学习Intent的使用。...在程序中,如果需要在本应用中启动其他的Activity时,可以使用显式意图来启动Activity,其本例代码具体如下: // 创建Intent对象 Intent intent = new Intent...使用这种方式开启的Activity,意图非常明显,因此称之为显式Intent,也叫做显式意图。 02隐式Intent 没有明确指定组件名的Intent称为隐式Intent,又叫隐式意图。...Android 系统搜索所有应用中与 Intent 匹配的 Intent 过滤器。...而隐式Intent的功能要比显示Intent更加强大,不仅可以开启本应用的组件,还可以开启其他应用的组件,例如打开系统自带的照相机、浏览器等。

    1.1K50

    Android Intent漏洞

    Intent 过滤器中控制应用在列表中的位置 2.安全问题 滥用Activity返回值 如果受害应用使用startActivityForResult(),攻击应用使用setResult()将数据传输到受害者应用的...setResult(-1, new Intent().putExtra("picked_url", "https://attacker-website.com/")); finish(); } 攻击链: 打开攻击应用传输攻击链接给受害者应用...-受害者应用打开攻击链接 系统操作 标准的android操作 android.intent.action.PICK 选择图片 android.intent.action.GET_CONTENT 选择文件...,应用将返回指向目标应用的专用目录中的文件链接: 攻击应用代码: AndroidManifest.xml android:name=".PickerActivity"> <intent-filter...不安全的广播 如果应用使用隐式Intent来传递广播,则可以使用相同的操作注册广播接收器,并从其他应用拦截用户的广播。

    63330

    安卓应用安全指南 4.2.2 创建使用广播接收器 规则书

    4.2.2.1 仅在应用中使用的广播接收器必须设置为私有(必需) 仅在应用中使用的广播接收器应该设置为私有,以避免意外地从其他应用接收任何广播。 它将防止应用功能滥用或异常行为。...仅在同一应用内使用的接收器,不应设计为设置意图过滤器。 由于意图过滤器的特性,即使通过意图过滤器调用同一应用中的私有接收器,其他应用的公共私有也可能被意外调用。..." /> 请参阅“4.2.3.1 导出属性和意图过滤器设置的组合(对于接收器)”。...由于公共广播接收器从未指定的大量应用接收意图,它可能会收到恶意软件的攻击意图。 私有广播接收器将永远不会直接从其他应用接收任何意图,但公共组件从其他应用接收的意图数据,可能会转发到私有广播接收器。...通过比较目标包中 APK 签名的开发人员密钥和白名单来发送广播,来确认允许的应用。 实际上下面的使用隐式意图的方法更实用。

    84430
    领券