第一行代码阅读笔记----显示隐式Intent的基本用法

时间:2023-03-09 06:51:03
第一行代码阅读笔记----显示隐式Intent的基本用法

1、显示Intent
意图明显,通过Intent启动另外一个活动,这是安卓中各组件进行交互的一种重要方式。
一般用于启动活动,启动服务,发送广播等场景。

实现方法,这里我只说思路,实践还是要自己实操才能明白:

1、首先多创建一个activity,命名为别的,这个就是待会咱们要调用的另外一个activity,可以跟主activity一样。
2、创建完后记得在AndroidManifest.xml中为新创建的activity进行注册。
   同样的,要将其包括在<application分支下
   ep:
   <activity android:name=".SecondActivity" >
   </activity>
3、由于我们创建的这一个新的活动并不是主活动,所以不需要配置<intent-filter>标签里的内容,所以不用理会
4、使用Intent实现调用另外一个activity
   Intent有多个构造函数的重载,其中一个是 Intent(Context packageContext, Class<?> cls)。
这个构造函数接收两个参数,第一个参数 Context 要求提供一个启动活动的上下文,第二个
参数 Class 则是指定想要启动的目标活动,通过这个构造函数就可以构建出 Intent 的“意图”。
所以,称做显示Intent
ep:
button1.setOnClickListener(new OnClickListener() {
@Override
	public void onClick(View v) {
		//我在按键单击事件中实现这个过程
		//当我按下button的时候,此时FirstActivity就会去调用SecondActivity,跳到另外一个界面去
		//返回主界面也很简单,只要按下手机上的back键就可以了
		Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
		//启动活动
		startActivity(intent);
	}
});

2、隐式Intent
   按照作者的书籍可以理解为,隐式就没有那么高调的去启动,而是偷偷摸摸的,比较低调,含蓄的作风。
   它并不明确的想要去启动哪一个活动,而是通过更为抽象的action和category等信息,交由系统去分析这个
   Intent,并去找出合适的活动去启动。
   那么如何隐式启动第二个活动呢?

   1、还是一样,和上面显式的一样第一个步骤
   2、打开AndroidManifest.xml配置<intent-filter>标签里的内容
	<activity android:name=".SecondActivity" >
		<intent-filter>
		 //指明了当前活动能够相应的Intent中带有的category
		 //这里要求只有action和category中的内容同时能够匹配上Intent中指定的action和category时,这个活动才能响应Intent
			<action android:name="com.example.activitytest.ACTION_START" />
			<category android:name="android.intent.category.DEFAULT" />
		</intent-filter>
	</activity>
	3、在事件中添加Intent
	ep:
	button1.setOnClickListener(new OnClickListener() {
	@Override
		public void onClick(View v) {
		Intent intent = new Intent("com.example.activitytest.ACTION_START");
		startActivity(intent);
		}
	});