您的位置:首页 > 编程语言

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

2016-11-01 15:44 197 查看
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);
}
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: