写在前面:
列表中的每一项可以看做是一个独立的个体,其中的文件不相互干扰,供大家更清晰的理解每个知识点。
- Intent是干啥的呢?
- Intent的分类
Intent大致可以分为两种,显示Intent和隐式Intent。
显式Intent主要用于同一个应用中的活动交互及数据传递。
隐式Intent一般用于不同应用中的活动交互及数据传递。(例如:我们想在自己写的应用中调用通讯录或者浏览器等应用,就会用到隐式Intent。)
下面我们详细的来看一下两种Intent的使用。 - 显式Intent的使用
新建两个活动,一个叫FirstActivity一个叫SecondActivity。在AndroidStudio中新建Activity,AS会自动的在layout文件下面建立相应的xml布局文件并在AndroidManifest.xml文件中注册相应的Activity,这里不做过多陈述。
在FirstActivity的xml布局文件中添加一个按钮,id设置为button1。
在FirstActivity中添加按钮点击事件。
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(FirstActivity.this, SecondActicvity.class);
startActivity(intent);
}
});
解释一下,我们首先构建出了一个Intent,传入FirstActicity.this作为上下文,传入SecondActivity.class作为目标活动,这样我们的“意图”就非常明显了,就是在FirstActivity这个活动的基础上打开SecontActivity这个活动。然后通过startActivity()方法来执行这个Intent。
这种Intent的“意图”非常明显,明确的指出了要去启动哪个活动,因此我们称之为显式Intent。
4. 隐式Intent的使用
隐式Intent不明确指出想要启动哪个活动,而是指定了一系列更为抽象的action和category等信息,然后交由系统去分析这个Intent,然后帮我们找出合适的活动去启动。(事实上,主要是我们并不知道用户手机上其他应用的Activity叫什么名字,无法指定,所以我们就用action和category来说明我们想要一个能做这件事情的活动&#x