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

android学习笔记——Intent和IntentFilter

Activity、Service、BroadcastReceiver都是通过Intent传递 Intent作用:程序运行过程中连接两个不同的组件,通过Intent程序可向android...传递某种请求,android通过请求的内容选择适当组件来完成请求(比如要打开浏览器之类的)【 android根据Intent请求内容查询各组件注册时声明的IntentFilter找到相关的组件】。...、Action【普通字符串】代表Intent要完成的抽象动作 3、Category(种类)【普通字符串】为Action增加附加类别信息(一些特点)...4、Data【URI对象】 向Action属性提供操作的数据,例如:Tel:--110【协议 主机号 端口号 路径】 5、Type【abc_xyz格式字符串】 指定Data...可以调用Intent的setDataAndType来设定防止覆盖 IntentFilter(意图过滤器) : AndroidManifest注册组件时可以添加

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

    Android deeplink漏洞

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

    78840

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

    激活系统的某些应用,并且往应用里面填一些数据,比如说短信应用 打开短信应用,查看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

    LiTr:适用于Android的轻量级视频音频转码器

    这与720p / 5Mbps的最高格式有很大不同,因为我们实际上创建了很多字节发送到后端,然后被服务器转码丢弃。...解决这种“丢弃数据”问题的方法很简单:在通过网络发送视频之前,先对设备上的视频进行转码以丢弃这些字节。为此,我们需要一个设备上代码转换器。...媒体编解码器(MediaCodec)过程示意图 重复该过程,直到处理完所有帧。客户端不拥有缓冲区,使用完缓冲区后必须将其释放回MediaCodec。否则,在某些时候,所有出队尝试将始终失败。...”库中提供过滤器实现。...如果要使用过滤器,请导入litr-filters库: implementation ‘com.linkedin.android.litr:litr-filters:1.1.1' 该库中目前有两个过滤器,

    2.5K20

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

    " android:exported="false"/> 另外,这种情况很少见,但是当服务仅在应用中使用时,不要设置意图过滤器。...原因是,由于意图过滤器的特性,可能会意外调用其他应用中的公共服务,虽然你打算调用应用内的私有服务。 AndroidManifest.xml(不推荐) 请参阅“4.4.3.1 导出属性和意图过滤器设置的组合(在服务情况下)”。...4.4.2.6 如果目标是固定的,使用显式意图(必需) 当通过隐式意图使用服务时,如果意图过滤器的定义相同,则意图会发送到首先之前的服务。...如果之前安装了恶意软件,它故意定义了同一个意图过滤器,则意图会发送到恶意软件并发生信息泄露。 另一方面,当通过显式意图使用服务时,只有预期的服务会收到意图,所以这样更安全。

    96910

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

    表 4.4-3 导出属性的值 True False 意图过滤器已定义 公共 (不使用) 意图过滤器未定义 公共,伙伴,内部 私有 如果服务中的导出属性是未指定的,服务是否公开由是否定义了意图过滤器决定...[9] 如果定义了任何意图过滤器,服务是公开的,否则是私有的。...不应该使用未定义的意图过滤器和导出属性false的原因是,Android 的行为存在漏洞,并且由于意图过滤器的工作原理,可能会意外调用其他应用的服务。...具体而言,Android 的行为如下,因此在设计应用时需要仔细考虑。 当多个服务定义了相同的意图过滤器内容时,更早安装的应用中的服务是优先的。...如果使用显式意图,则优先的服务将被自动选择并由 OS 调用。 以下三张图描述了一个系统,由于 Android 行为而发生意外调用的。

    97120

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

    导出属性的值 True 意图过滤器已定义 公开 意图过滤器未定义 公开、伙伴、内部 表 4.1-2 当未指定Activity的导出属性时,Activity是否为公开的,取决于Activity的意图过滤器的存在与否...如果定义了任何意图过滤器,则该活动是公开的;否则它是私有的。...不应该使用未定义的意图过滤器和导出属性false的原因,是 Android 的行为存在漏洞,并且由于意图过滤器的工作原理,其他应用的活动可能会意外调用它。下面的两个图展示了这个解释。...意图过滤器(action ="X")被定义为仅在应用 A 内部工作,所以这是预期的行为。...如上所示,使用意图过滤器,将隐式意图发送到私有应用,可能会导致意外行为,因此最好避免此设置。 另外,我们已经验证了这种行为不依赖于应用 A 和应用 B 的安装顺序。

    1.4K20

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

    " android:label="@string/app_name" android:exported="false" /> 意图过滤器不应该设置在仅用于单个应用的活动中。...由于意图过滤器的特性,以及工作原理,即使您打算向内部的私有活动发送意图,但如果通过意图过滤器发送,则可能会无意中启动另一个活动。...更多详细信息,请参阅高级主题“4.1.3.1 结合导出属性和意图过滤器设置(用于活动)”。 AndroidManifest.xml(不推荐) <!...(必需) 当通过隐式意图使用Activity时,Intent发送到的Activity由 Android OS 确定。...请参阅“4.1.3.1 组合导出属性和意图过滤器设置(对于活动)” 4.1.2.9 小心并安全地处理来自被请求活动的返回数据(必需) 根据您访问的活动类型,风险略有不同,但在处理作为返回值的收到的Intent

    1.3K20

    【Android 进程保活】应用进程拉活 ( 应用进程拉活简介 | 广播拉活 | 显示广播与隐式广播 | 全家桶拉活 )

    官方对这种操作进行了各种限制 , 从 Android 7.0 开始限制 , 到 Android 8.0 之后 , 基本无法进行应用拉活操作 ; 对应用进程拉活 , 不能保证 100% 成功率 , 即使拉活成功...官方文档 - Oreo 版本适配 : 后台执行限制 Android 官方文档 - Intent 和 Intent 过滤器 三、 显示广播与隐式广播 ---- Intent 类型 : 显示 Intent...: Intent 中提供了软件包名 或 组件的全类名 ; 如 设置 组件 Class 对象 ; 隐式 Intent : 没有指定特定的组件 , 允许其它应用组件处理该意图 ; 如 设置 action...字符串 ; 参考文档 : https://developer.android.google.cn/guide/components/intents-filters 显示广播 与 隐式广播 : 显示广播...官方文档 - Oreo 版本适配 : 后台执行限制 Android 官方文档 - Intent 和 Intent 过滤器 四、 全家桶拉活 ---- 全家桶拉活 : 多个应用之间使用显示广播互相拉活

    69120

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

    但是,在介绍应用层之后,我们更容易解释 Android 的一些安全功能。 应用组件 Android 应用以 Android 软件包(.apk)文件的形式分发。...所有其他组件类型通过Intent(意图)激活。 意图是 Android 中基于Binder框架的特殊通信手段。意图被传递给执行组件调用的方法。被调用的组件可以被两种不同类型的意图调用。...应用的开发人员可以使用显式意图或隐式意图来调用选择图片的组件。对于第一种意图类型,开发人员可以在他的应用的组件中实现挑选功能,并使用带有组件名称数据字段的显式意图调用此组件。...对于第二种意图类型,开发人员将选择适当组件的权利转移给操作系统。 intent对象在其Action,Data和Category字段中包含一些信息。...根据这个信息,使用意图过滤器,操作系统选择可以处理意图的适当组件。意图过滤器定义了组件可以处理的意图的“模板"。当然,相同的应用可以定义一个意图过滤器,它将处理来自其他组件的意图。

    1K20

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

    但是,在介绍应用层之后,我们更容易解释 Android 的一些安全功能。 5.1 应用组件 Android 应用以 Android 软件包(.apk)文件的形式分发。...所有其他组件类型通过Intent(意图)激活。 意图是 Android 中基于Binder框架的特殊通信手段。意图被传递给执行组件调用的方法。被调用的组件可以被两种不同类型的意图调用。...应用的开发人员可以使用显式意图或隐式意图来调用选择图片的组件。对于第一种意图类型,开发人员可以在他的应用的组件中实现挑选功能,并使用带有组件名称数据字段的显式意图调用此组件。...对于第二种意图类型,开发人员将选择适当组件的权利转移给操作系统。 intent对象在其Action,Data和Category字段中包含一些信息。...根据这个信息,使用意图过滤器,操作系统选择可以处理意图的适当组件。意图过滤器定义了组件可以处理的意图的“模板”。当然,相同的应用可以定义一个意图过滤器,它将处理来自其他组件的意图。

    54330

    android学习笔记----隐式意图和显式意图

    隐式意图和显式意图: 显式意图:显式意图明确指明了启动活动的上下文和想要启动的目标活动,显式意图明确指定了Intent应该传递给哪个组件。 隐式意图:没有明确指定组件名的Intent为隐式意图。...Android系统会根据隐式意图中设置的动作(action)、类别(category)、数据(URI和数据类型)找到最合适的组件来处理这个意图。...可以配置多个意图过滤器,只要能够完整的匹配任何一个意图过滤器intent-filter,就可以跳转到那个activity 如果intent-filter里面只有和标签...根据通用语法解析URI字符串,而不考虑它指定的方案(如果有的话)。不执行主机查找(如果有),并且不构造依赖于方案的流处理程序。严格按照实例的字符内容定义等同,散列和比较。...换句话说,URL是一种结构化字符串,它支持解析的语法操作以及查找主机和打开与指定资源的连接的网络I / O操作。

    1.4K10

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

    4.7 使用可浏览的意图 原书:Android Application Secure Design/Secure Coding Guidebook 译者:飞龙 协议:CC BY-NC-SA 4.0...使用“可浏览的意图”来对付这些风险时有一些要注意的地方。 4.7.1 示例代码 使用“可浏览的意图”的应用的示例代码如下: 要点: 1) (网页侧)不得包含敏感信息。...获取),并且带有相应意图过滤器的应用,从 Android 系统启动。...此时,当几个应用设置意图过滤器来接收相同的 URI 模式时,应用选择对话框将显示,与隐式意图正常启动相同,并启动用户选择的应用。...在设计应用时必须记住它,并且由’可浏览的意图’启动应用,等同于由隐式意图启动,并且不保证启动了有效的应用。

    54510

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

    仅在同一应用内使用的接收器,不应设计为设置意图过滤器。 由于意图过滤器的特性,即使通过意图过滤器调用同一应用中的私有接收器,其他应用的公共私有也可能被意外调用。..." android:exported="false" > android:name="org.jssec.android.broadcast.MY_ACTION..." /> 请参阅“4.2.3.1 导出属性和意图过滤器设置的组合(对于接收器)”。...由于公共广播接收器从未指定的大量应用接收意图,它可能会收到恶意软件的攻击意图。 私有广播接收器将永远不会直接从其他应用接收任何意图,但公共组件从其他应用接收的意图数据,可能会转发到私有广播接收器。...请注意,粘性广播在 Android 5.0(API Level 21)中已弃用。

    84430

    Kotlin安卓开发学习–Intent的使用

    Intent(this, SecondActivity::class.java) startActivity(intent) 以上是显式Intent的用法,它通过指定一个明确的Activity来实现”意图.../activity> 我们可以看出,可以在标签内使用来配置意图过滤器,在其中则可以配置action和category等信息。...比如使用intent.data = Uri.parse("https://www.baidu.com")来传入将字符串转化为URI对象,并传入intent内。但这有什么用呢?...android:scheme。用于指定数据的协议部分,如上例中的https部分。 android:host。用于指定数据的主机名部分,如上例中的www.baidu.com部分。...android:port。用于指定数据的端口部分,一般紧随在主机名之后。 android:path。用于指定主机名和端口之后的部分,如一段网址中跟在域名之后的内容。 android:mimeType。

    1.3K20

    跟我学Android之二 第一个程序

    values下存放各种数据资源,如字符串资源。 ​...) ACTION_MAIN (字符串常量) ACTION_SCREEN_ON (字符串常量) Category——指明应该处理当前intent的组件种类 CATEGORY_HOME (字符串常量) CATEGORY_LAUNCHER...(字符串常量) Intent过滤器用于指定组件“愿意”接收的Intent 可以包含Intent中包含的信息所对应的过滤条件 Action Category 在配置Activity时通常通过Intent...Emulator Control可以用于模拟控制​ 模拟拨打和接听电话 模拟短信息收发 模拟地理坐标位置 ​Logcat窗体简介​ Logcat窗体提供了应用运行中的日志输出与查询过滤...可以输出设备的所有输出信息 如果是真机,需要打开bebug模式 支持日志级别 支持过滤查询 Android 中的日志工具类是Log( android.util.Log

    5810
    领券