Android编程——intent详解

1.介绍 Intent可以启动Activity,也可以启动Service,还可以发起广播Broadcasts
Intent的中文意思是“意图,意向”,这个类用于提供信息以供对应的函数使用
Intent的对应函数:

组件名称 函数名称
Activity startActvity()
Service startService()
bindService()
Broadcasts sendBroadcasts()
sendOrderedBroadcasts()
sendStickyBroadcasts()
Intent的重要成员:
成员名称 释义
Action 动作(意图)
Data 传递的数据
extras 额外的数据
category 目标所具有的特征
type 目标所能处理的数据类型
component 目标组件的包名或类名
2.应用
//AndroidManifest.xml //可以理解为给组件添加标签,用以找到和标签对应的组件 //系统定义的标签,与其绑定的组件有不同的作用 //比如:activity:电话,短信,联系人,网页浏览,....//Intent默认参数,必须添加 //Activity.java //从A窗口跳转到B窗口,不带数据 public void gotoTestActivity1(View view) { 1.隐式(系统会去注册的组件中找和标签匹配的组件,和其绑定的类) //请参考上面的:AndroidManifest.xml Intent intent = new Intent("com.example.nihuai.intent.action.Test"); //从A窗口跳转到B窗口 startActivity(intent); }//Activity.java //从A窗口跳转到B窗口,不传递数据 public void gotoTestActivity2(View view) { 2.显示(系统不需要找,参数提供了和组件绑定的类,所以不用添加标签) //参数2:和组件绑定的类 Intent intent = new Intent(A.this,B.class); //从A窗口跳转到B窗口 startActivity(intent); }//Activity.java //从A窗口跳转到B窗口,传递数据 //可在B窗口创建时取出数据 //系统的打电话就是在创建的时候取出数据 //并调用了设置电话号码和拨打电话 public void gotoTestActivity2(View view) { 2.显示(系统不需要找,参数提供了和组件绑定的类,所以不用添加标签) //参数2:和组件绑定的类 Intent intent = new Intent(A.this,B.class); String data= "https://www.it610.com/article/nihuai"; intent.putExtra("putData",data); startActivity(intent); }

3.总结 intent的成员变量分三类:
1.系统根据标签定位组件:(Action,category,type,Data)
给组件加标签(AndroidManifest.xml)
系统根据提供的标签匹配和组件绑定的类
调用类中的onCreate来创建组件
2.明确的目标组件(component)
设置成员变量内容:setComponent
系统不会在根据标签来匹配对应的组件
因为它指定了和目标组件绑定的类
调用类中的onCreate来创建组件
3.传递数据:(Data,extras)
Data可以当参数传递,也可以当标签来定位组件
数据可以传递给启动的组件
数据可以从启动的组件传递给调用它的组件(上一层组件)
【Android编程——intent详解】参考书籍:
第一行代码(第2版)

    推荐阅读