Android的Activity跳转

启动一个Activity的方式

显式启动

直接启动

        startActivity(new Intent(MainActivity.this,SecondActivity.class));

通过调用Intent中的setComponent方法启动,我们可以打开另外一个应用中的Activity或者服务

实例化一个ComponentName需要两个参数,第一个参数是要启动应用的包名称,这个包名称是指清单文件中列出的应用的包名称

Intent intent = new Intent();
        intent.setComponent(new ComponentName("com.example.tutor_activity", "com.example.tutor_activity.SecondActivity"));
        startActivity(intent);

通过setClassName启动,参数一样,setClassName内部也是调用的setComponent

  Intent intent = new Intent("android.intent.action.MAIN");
        intent.setClassName("com.example.tutor_activity","com.example.tutor_activity.SecondActivity");
        startActivity(intent);

隐式启动

通过Intent-filter中Action,Category来实现

  Intent intent = new Intent("Name");
                startActivity(intent);
  <activity android:name=".SecondActivity">
            <intent-filter>
                <action android:name="Name"/>
                
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </activity>

category这句一定要写

GitHub地址 下载前给star

 

posted @ 2022-10-31 13:40  Z_Chan  阅读(176)  评论(0编辑  收藏  举报