一、隐式Intent

1.如何配置

  • AndroidManifest.xml配置intent-filter内容
  • 响应actioncom.example.activitytest.ACTION_START并且响应category才可以
  • FirstActivity.java中进行设置Intent.
  • 每个Intent只能指定一个action,但是可以指定多个category

(1)Intent构造函数,有Intent(String action_name)
(2)还用成员方法addCategory(String category_name)

2.隐式Intent可启动其他程序的活动

  • 比如:调用浏览器等
  • 核心代码
  Intent intent = new Intent(Intent.ACTION_VIES);
  intent.setData(Uri.parse("http://www.baidu.com"));

 

 

释义: 第一行系统内置动作;第二含,解析地址为Uri对象,在传给setData\

  • 注意要在intent-filter中添加data标签
  • data标签的五种值:
名称
android:scheme 用于指定数据的协议部分
android:host 用于指定主机部分
android:port 用于指定主机端口
android:parth 用于指定主机和端口后的部分
android:mimeType 用于指定可以处理的数据类型

3.向下一个活动传递数据

两个Activity是如何练习到一起的

  • 写一段代码来演示,这两段分别在两个活动中,表示一个传到另一个
String data = "Hello SecondActivity";
Intent intent = new Intent(FirstActivity.class,SecondActivity.class);
intent.putExtra("extra_data",data);
startActivity(intent);
Intent intent = getIntent();
String data = intent.getStringExtra("extra_data");
Log.d("SecondActivity",data);

 

释义:putExtra方法,第一个参数是键,第二个参数才是要传递的数据。可以看到getStringExtra方法来接受。

4.返回数据给上一个活动

直接举例子

Intent intent = new Intent(FirstyActivity.class,SecondActivity.class);
startActivityForResult(intent,1);
//点击事件代码省略
Intent intent = new Intent();
intent.putExtra("data_return","Hello FirstActivity");
setResult(RESULT_OK,intent);
finish();

 

setResult()方法用于向上一个活动传递数据

二、源码:

posted on 2020-06-29 00:35  心悦君兮君不知-睿  阅读(130)  评论(0编辑  收藏  举报