Activity显示启动方式和隐式启动方式

1、显示启动方式:

   a、Activity直接条状

         Intent intent = new Intent(A.this,B.class);

         intent.putExtra(“key”,”value”);//跳转时传递参数

         startActivity(intent);

     

   使用场景:应用内部跳转,频率较高

   

   b、包名、类名

         Intent intent = new Intent();

intent.setClassName(“com.shy”,”com.shy.B.class”);

         intent.putExtra(“key”,”value”);//跳转时传递参数

         startActivity(intent);         

    使用场景:内部跳转+外部跳转

     c、ComponentName跳转

         Intent intent = new Intent();

         intent.setComponent(new Component(“com.shy”,”com.shy.B.class”));

         intent.putExtra(“key”,”value”);//跳转时传递参数

         startActivity(intent);    

     使用场景:内部跳转+外部跳转

2、隐式跳转

    AndroidManifest.xml中定义某个Activity的intent-fliter

   
<intent-filter>

   
<action android:name=”com.example.activity.ACTION_START” />

   
<category android:name=”android.intent.category.DEFAULT” />

 
<category android:name=”com.example.activity.ACTION_START” />

   
</intent-filter>

    Activity中

Intent intent = new Intent(“com.example.activity.ACTION_START”);

//android.intent.category.DEFAULT是一种默认的category,在startActivity时自动添加

intent.addCategory(“com.example.activity.ACTION_START”); 

startActivity(intent);

隐式启动,在启动的时候是不明确的,需要匹配系统或AndroidManifest.xml中的intent-filter定义,只有action和category和data完全匹配时,才会启动.

    原文作者:wendizhou
    原文地址: https://blog.csdn.net/wendizhou/article/details/73571781
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞