第一行代码学习笔记-第二章 探究活动-2.Intent的使用

来源:互联网 发布:猪场软件 编辑:程序博客网 时间:2024/05/16 14:55
1.使用显式Intent
Intent intent= new Intent(MyActivity.this,MySecendActivity.class);startActivity(intent);
方法就是定义一个intent,然后调用startActivity方法开始Intent
显示,就是说这里是固定写死的,而不是动态匹配的,隐式的就可以动态匹配,可以根据输入的字符串不同组合,获取activity,好像spring的ioc
一样
2.使用隐式Intent
在AndroidManifest.xml中的activity标签中添加intent-filter标签,给anction和category添加android:name属性,内容为自定义字符串,只有匹配这两个字符串的Intent才能获取这个activity,而且这个category可以有多个,category如果为android.intent.category.DEFAULT则创建intent时,可以不加第二个参数。
3.更多隐式Intent用法
action写成:android.intent.action.VIEW,category为默认的,在代码中如下:
Intent intent= new Intent(Intent.ACTION_VIEW);intent.setData(Uri.parse("http://www.baidu.com"));startActivity(intent);

4.更牛逼的用法
就是该应用可以拦截一些需要打开的协议,port,host,path(请求路径(不含host)),参数类型,方法如下:
就是在intent-filter中配置一个data标签,data标签中,可以配置如下:
android:schemeandroid:hostandroid:portandroid:pathandroid:mimeType

接着介绍两种协议:geo表示显示地理位置,tel表示拨打电话。以拨打电话为例:
Intent intent= new Intent(Intent.ACTION_DIAL);intent.setData(Uri.parse("tel:10086"));startActivity(intent);

5.向下一个活动传递数据
数据的传递,主要是通过intent的putExtra方法来传递的,获取数据的方法就是intent的getStringEntra方法,其中String可以换成其他基本类型,或者是数组和List。
6。向上传递数据
向上传递数据有三部,以及一个主意事项
第一步:启动intent的时候,使用startActivityForResult,而不是startActivity
第二步:关闭第二个活动的时候,实例化一个intent,添加数据,然后调用setResult方法,将数据添加进去
第三步:在第一个活动中添加onActivityResult方法,获取返回的数据
需要注意的地方,就是第二个活动的关闭,也许是按钮,也许是返回按键,如果是返回按键,则记得重写onBackPress方法,这里也将返回数据添加进去。
0 0
原创粉丝点击