Android_Studio_Intent

一、Intent对象介绍

Intent是组件与组件通信的纽带。
应用程序的三个核心组件都是通过Intent的消息激活。

Android四大组件:

 1、Activity(活动)->前台界面

   startActivity() 启动一个Activity
   startActivityForRestult() 使一个已存在的活动去做新的事。

 2、Service(服务) ->后台服务

   startService()初始化一个Service或传递一个新的指令给已在运行的Service
   bindService()建立调用组件与服务的连接。

 3、Broadcast Receiver(广播提供商)->回调函数

   sendBroadcast()
   sendOrderedBroadcast()
   sendStickyBroadcast()

 4、Content Provider(内容提供商)-> 共享数据

二、Intent对象的组成

1、组件名称(包名或类名)Component、Class

   设置:setCompronent()/setClass/setClassName()
   读取:getComponent

2、动作 Action

   设置:setAction()
   获取: getAction()

3、数据 Data

   setData()指定数据的URI
   setType()指定数据的MIME类型
   如果动作是ACTION_CALL 数据字段是一个 tel:URI和将要拨打的电话号码;
   如果动作是ACTION_VIEW数据字段是一个 http:URI接收活动将被调用去下载和显示URI指向的数据。

4、种类 Category

   通用addCategory()添加,常见种类:CATEGORY_LAUNCHER

5、附件信息 Extras

   附加信息可以作为一个Bundle
   安装:putExtras()
   读取:getExtras()

三、Intent Filter过滤器

使用Intent Filter,应用程序组件告诉Android,它们能为其它程序的组件的动作请求提供服务,包括同一个程序的组件,本地的或第三方的应用程序。
注册一个应用程序组件为Intent处理者,在组件的manifest节点添加一个intent-filter标签。
常见的Intent Fileter检测

1、动作检测

   清单文件中的元素以子元素列出动作。

2、种类检测

   清单文件中的元素以子元素列出种类。

3、数据检测

   清单文件中的元素以子元素列出数据。
   scheme
   host
   port
   path
   scheme://host:prot/path

四、显示Intent和隐式Intent

1、显示Intent

通过名字指定目标组件。本身程序使用居多

//创建Intent对象
Intent intent = new Intent();
//设置启动的类
intent.setClass(MainActivity.this,MyActivity.class);
//启动Activity
startActivity(intent);

2、隐式Intent

   并不指定目标的名字,(组件名字字段是空的)。隐式intent经常用于激活其它应用程序中的组件。

//创建一个意图对象
Intent intent = new Intent();
//设置打电话动作
intent.setAction(Intent.ACTION_VIEW);
//打包数据,放入Intent
intent.setData(Uri.parse("tel:13020002007"));
//根据意图对象启动对应Activity
startActivity(intent);
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值