Android Activity

Android 中我们可以通过 显示启动隐式启动 来启动一个新的 Activity

显式启动

通过包名来启动

这是最常见的

startActivity(new Intent(当前 Activity.this,要启动的 Activity.class));

通过 Intent 的 ComponentName

ComponentName cn = new ComponentName("当前 Activity 的全限定类名","启动 Activity 的全限定类名") ;
Intent intent = new Intent() ;
intent.setComponent(cn) ;
startActivity(intent) ;

初始化 Intent 时指定包名

Intent intent = new Intent("android.intent.action.MAIN");
intent.setClassName("当前 Activity 的全限定类名","启动 Activity 的全限定类名");
startActivity(intent);

隐式启动

通过 Intent-filter 的 Action,Category 或 data 来实现

AndroidManifest.xml 配置

<activity android:name=".SecondActivity"
    android:label="第二个 Activity" >
    <intent-filter>
        <action android:name="ms_action" />
        <category android:name="ms_category" />
        <category android:name="android.intent.catetory.DEFAULT" />
    </intent-filter>

Java 代码

Intent it = new Intent();
it.setAction("ms_action");
it.addCategory("ms_category");
startActivity(it);

直接通过包名启动 apk 的

Intent intent = getPackageManager().getLaunchIntentForPackage
("apk 第一个启动的 Activity 的全限定类名") ;
if(intent != null)
    startActivity(intent) ;

参考文档

  1. Android Activity

Android 基础教程

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.