使用Intent和IntentFilter进行通信

目录:

  • Intent对于Android应用的作用
    • 启动系统的组件
  • 使用Intent启动系统组件
  • Intent的Component属性的作用
  • Intent的Action属性的作用
  • Intent的Category属性的作用
  • 为指定Action,Category 的Intent配置对应的intent-filter
  • Intent的Data属性
  • Intent的Type属性
  • 为指定Data,Type的Intent配置对应的intent-filter
  • Intent的Extra属性
  • Intent的Flag属性
  • 使用Intent创建Tab页

对于Intent的理解

  • Intent是意图的意思
  • Android用Intent来封装自己的调用意图
  • 启动Activity,Service,BroadcastReceiver,都用统一的Intent来封装启动意图
  • 使用Intent提供了统一的编程模型
  • 使用Intent可以实现解耦
  • 1 Intent封装了启动某个组件的意图
  • 2 Intent是组件之间进行通信的媒介,两个组件把需要交换的数据封装成Bundle,再用Intent来携带这个数据,就实现了数据的交换
Intent属性作用
Category—–:
Extra携带需要传递的数据
flag—–:
Type—–:
Action—–:
Component明确指定要启动的组件
—–:
startActivity(new Intent(MainActivity.this,SecondActivity.class));
  • 启动哪个组件是Intent的属性来决定的

总结

  • Intent共有6个构造方法
new Intent();
new Intent(Intent intent);
new Intent(String action);
new Intent(Context packageContext, Class<?> cls);
new Intent(String action,Uri uri);
new Intent(String action, Uri uri, Context packageContext,Class<?> cls);

Data,Type的intent-filter配置

  • Data向Action提供操作的数据
  • Data接受一个Uri对象
  • 一个Uri对象通过如下形式的字符串表示:
    content://com.android.contacts/1
  • Type用于指定该Data所指定的Uri的MIME类型
  • MIME类型可以是任何自定义的类型,只要符合abc/xyz的格式的字符串即可?
  • Data和Type两个属性会相互覆盖,如果不想两者互相覆盖,就设置setDataAndType属性

疑问

  • 如果利用Intent和IntentFilter进行通信
  • Data向Action提供操作的数据?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值