Android Activity之间的跳转

Posted liyuefu2034

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Activity之间的跳转相关的知识,希望对你有一定的参考价值。

  • Activity之间的跳转需要用到Intent(意图)组件,通过Intent可以开启新的Activity实现界面跳转功能。
  • Intent被称为意图,是程序中各组件进行交互的一种重要方式,它不仅可以指定当前组件要执行的动作,还可以在不同组件之间进行数据传递。根据开启目标组件的方式不同,Intent被分为显式意图隐式意图两种类型。

  显式意图:

   显式意图可以直接通过名称开启指定的目标组件,通过其构造方法Intent(Context packageContext , Class<?> cls)来实现,第一个参数为Context表示当前的Activity对象,第二个参数Class表示要启动的目标Activity,通过这个方法创建一个Intent对象,然后将该对象传递给Activity的startActivity(Intent intent)方法即可启动目标组件。示例代码如下:

//从当前页面跳转到Activity02界面
Intent intent = new Intent(this,Activity02.class);    //创建Intent对象
startActivity(intent);    //开启Activity02

  隐式意图:

   隐式意图相比显示意图来说更为抽象,它并没有明确指定要开启哪个目标组件,而是通过指定action和category等属性信息,系统根据这些信息进行分析,然后寻找目标Activity。其示例如下:

Intent intent = new Intent();
//设置action动作,该动作要和清单文件中设置的一样
intent.setAction("cn.START_ACTIVITY");
startAvtivity(intent);

  上述代码中,只指定了cation,并没有指定category,这是因为在目标Activity的清单文件中配置的category只是一个默认值,在调用startActivity()方法时,自动将这个category添加到Intent中。接下来还需要在目标Activity的清单文件中配置    ,指定当前Activity能够响应的action和category,示例代码如下:

<activity android:name="cn.Activity02">
            <intent-filter>
                <action android:name="cn.START_ACTIVITY" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

  在清单文件中,目标组件Activity02指定了可以响应的<action>和<category>信息,只有当action和category属性与目标组件设置的内容相同时,目标组件才会被开启。需要注意,每个Intent只能指定一个cation,却能够指定多个category。

      

以上是关于Android Activity之间的跳转的主要内容,如果未能解决你的问题,请参考以下文章

Android Activity之间的跳转

Android activity之间的跳转和数据传递

android activity之间怎么跳转?

android-----实现不两个不同的activity的跳转和数据传递

kotin 实现android activity之间的跳转

kotin 实现android activity之间的跳转