Android:Intent组件间通信

本文介绍了Android中Intent如何用于组件间的通信,包括显式和隐式启动方式。显式启动直接指定目标组件,而隐式启动依赖Intent过滤器。此外,还详细讲解了Intent过滤器的构成,如动作、类别和数据。同时,阐述了Intent如何传递数据,并通过实例展示了从子Activity生成随机数并返回给父Activity的过程。
摘要由CSDN通过智能技术生成
  • Intent不仅可以在同一个应用程序内部的不同组件之间通信,也可以在不同应用程序的组件间传递信息
  • Intent负责对应用中一次操作的动作,涉及的数据,附加数据进行描述
  • 当通过显式启动组件时,系统会根据指定的参数,直接启动目标组件,当隐式启动时,Android系统则需要通过Intent过滤器(Intent Filters)来实现

显式启动

Intent intent=new Intent(MainActivity.this,SubActivity.class);
startActivity(intent);

隐式启动

Intent intent=new Intent(Intent.ACTION_VIEW,Uri.parse("......"))
startActivity(intent);
  • 统一资源描述符 Uri: Uniform Resourse Identifier
  • 隐式启动,Android系统需要Intent Filters过滤器机制来寻找目标组件
  • Intent Filters:动作(action) 类别(category) 数据(data)
  • 过滤器由<intent-filter>定义
  • 每个过滤器可以定义多个<category>标签
  • <action>:通过android:name属性指定组件的响应动作,用字符串表示
  • <data>:通过一个或多个属性来指定响应的scheme,host,port,path等值。接受的是一个Uri对象
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值