android-Intent启动activity的几种方式-隐式Intent

    1. Intentintent =new Intent(AActivity.this,BActivity.class);//激活组件,显示意图:明确指定了组件名称的意图叫显示意图

Intent intent = new Intent();

     2. intent.setClass(AActivity.this,BActivity.class);//指定要激活的组件名称

     3. intent.setClassName(AActivity.this, "cn.wxxu.activitys.BActivity");

     4. intent.setComponent(new ComponentName(AActivity.this,BActivity.class));

1.class跳转,应用场景:常用于应用内部跳转

Intent intent = new Intent(AActivity.this,BActivity.class);//激活组件,显示意图:明确指定了组件名称的意图叫显示意图
Intent intent = new Intent();
intent.setClass(AActivity.this,BActivity.class);//指定要激活的组件名称

2.包名 类名跳转,应用场景:内部跳转+外部跳转

3. intent.setClassName(AActivity.this, "cn.wxxu.activitys.BActivity");

3.componentName跳转,应用场景:内部跳转+外部跳转

intent.setComponent(new ComponentName(AActivity.this, BActivity.class));

intent.setComponent(new ComponentName(AActivity.this, cn.wxxu.activitys.BActivity.class));//包名和类名

4.隐式跳转

没有明确指定组件名的Intent为隐式意图。 Android系统会根据隐式意图中设置的动作(action)、类别(category)、数据(URI和数据类型)找到最合适的组件来处理这个意图。

在清单文件中配置如下

        <activity android:name=".OtherActivity" android:label="@string/windowtitle">
            <intent-filter >
                <action android:name="cn.wxxu.xxxx"/>
                <action android:name="cn.wxxu.yyyy"/></span>
                <category android:name="cn.wxxu.category.java"/> 
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="cn.wxxu.category.php"/>
                <data android:scheme="wxxu" android:host="www.xxxx.cn" android:path="/liming"/>
                <data android:mimeType="image/*"/>
            </intent-filter>            
        </activity>
intent激活隐式意图

Intent intent = new Intent();//隐式意图激活Activity
    	intent.setAction("cn.wxxu.xxxx");
    	intent.addCategory("cn.wxxu.category.java");   
    	intent.setDataAndType(Uri.parse("wxxu://www.xxxx.cn/liming"), "image/jpeg");
    	
    	startActivity(intent);//方法内部为Intent添加了android.intent.category.DEFAULT类别

你可能感兴趣的:(android-Intent启动activity的几种方式-隐式Intent)