Intent对象学习

本文深入讲解了Android系统中Intent对象的使用方式及其在组件间通信中的作用,包括启动Activity、Service及BroadcastReceiver的方法,以及如何设置组件名称、动作、数据和类别等关键属性。
摘要由CSDN通过智能技术生成

Intent对象

一个Android程序由多个组件组成,各个组件使用Intent通信。

  • 传递给Activity

    启动新Activity或者已存在的Activity去做其他任务。

Context.startActivity();//
Activity.startActivityForResult();
Activity.setResult();
//将信息返回给调用的startActivityForResult()的Activity
  • 传递给Service
Context.startService();
Context.bindService();
//调用组件和目标Service链接
  • 传递给BroadcastReceiver
Context.sendBroadcast();
Context.sendOrderedBroadcast();
Context.sendStickyBroadcast();
//广播出去

组件名称(Component Name)
系统可自动设置
设置名称

  • setComponent();
  • setClassName();
  • setClass()
    获取名称

  • getComponent();

动作

  • 设置动作setAction();
  • 方法读取getAction();
  • 标准Activity动作
    常用,其余需要时可查询API
    标准动作说明
常量说明
ACTION_MAIN作为初始化Activity启动,没有数据输入和输出
ACTION_EDIT将数据显示给用户编辑
ACTION_VIEW将数据显示给用户

使用时需要转换成为对应字符串信息:
ACTION_MAIN–>android.intent.action.MAIN
- 标准广播动作
常使用Context.registerReceiver();
或者配置文件receiver标签中
数据(Data)
Data表示操作数据的URI和MIME类型
URI:数据地址 MIME:数据类型

  • 设置URI和MINE:setDataAndType();
  • 获取URI:getData();
  • 获取MINE类型:getType();

    常用

动作类型数据规范
ACTION_EDIT编辑文件URI
ACTION_CALLtel:URI
ACTION_VIEWhttp:URI

种类(Category)

Category是一种字符串,包含附加信息

  • 增加到Intent对象:addCategory();
  • 删除上次增加种类:removeCategory();
  • 获取当前种类包含对象:getCategory();

    额外(Extras)
    包含额外信息。

  • 设置和读取Bundle

  • putExtras();
  • getExtras();
    标记(Flags)
    标记不同来源,所以标记都是整数类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值