Android中Intent和IntentFilter

一 概述

intent是意图,intentFilter是意图过滤器。使用intent,可以启动activity、service、broadcastReceiver等。

二 使用

2.1 显式调用

代码中指明我们的意图。

val intent = Intent(this, MainActivity::class.java)
startActivity(intent)

2.2 隐式调用

比如应用分享的时候可以分享到不同的app,因为它们满足过滤条件。
除开过滤广播的的IntentFilter可以在代码中创建外,其它的IntentFilter都得在AndroidManifest.xml中设置。

2.3 IntentFilter三个属性

action、catagory、data
Activity里面可以有多组intentFilter,只需要匹配成功一组
IntentFilter,里面的action category data 需要同时匹配。

2.3.1 action

匹配区分大小写,Intent,IntentFilter中都可以有多个action,Intent中的action存在且必须和过滤规则中的其中一个action相同,不能为空

2.3.2 catagory

可以为空,如果有,必须所有都要匹配成功。为空的时候实际上系统给我们加了默认的android.intent.category.DEFAULT

2.3.3 data

用来指定数据类型,主要的是URI和mimeType,mimeType就是媒体类型,就像"text/plain"

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值