Intent详解之路01_显式指定Intent

	1.相信大家都用过Intent对象吧,它封装了Android应用程序需要启动某个组件的意图,简单来说它
就是用来启动某一个Activity的,下面详细的介绍下它的显式声明的几个使用方法..
 截个图先:
 Intent详解之路01_显式指定Intent_第1张图片
 
                //显式Intent的声明方法
                /*
                 * 可以通过setComponent的方法设置要启动的组件
                 * 声明ComponentName有三种方法
                 */
                Intent intent = new Intent();
                //1.第一个参数是该组件所在的包名,第二个参数是指向要启动的组件,记得要加上包名
                ComponentName comp = new ComponentName("com.galis.android_intent", "com.galis.intent2.Test2_Activity");
                //2.第一个参数是Context对象,它是该Activity的应用环境接口,第二个参数是指向要启动的组件,记得要加上包名
                ComponentName comp2 = new ComponentName(Test1_Activity.this, "com.galis.intent2.Test2_Activity");
                //3.这种方法最常用,第一个参数是Context对象,第二个参数直接指定要启动组件的类
                ComponentName comp3 = new ComponentName(Test1_Activity.this,Test2_Activity.class);
                intent.setComponent(comp);
                startActivity(intent);
                
                /*
                 * 也可以通过setClass和setClassName的方法来设置要启动的组件
                 * 同样有三种方法,都是一样的效果
                 */
                Intent intent2 = new Intent();
                intent2.setClass(Test1_Activity.this,Test2_Activity.class);
                intent2.setClassName(Test1_Activity.this, "com.galis.intent2.Test2_Activity");
                intent2.setClassName("com.galis.android_intent", "com.galis.intent2.Test2_Activity");
                startActivity(intent2);
                
                /*
                 * 当然,最简单的方法就是下面这个了
                 * 实际上它是对上面几个方法的简化吧,个人认为
                 * 
                 */
                Intent intent3 = new Intent(Test1_Activity.this,Test2_Activity.class);
                startActivity(intent3);

 2.要记得一点的是,Intent显式使用的时候,在AndroidMainFest.xml中,被指定的Activity
只需要设置android:name这个属性就可以了,intent-filter设定是没有意义的...
 
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.galis.android_intent.Test1_Activity"
            android:label="Test1Activity" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.galis.intent2.Test2_Activity"
            android:label="Test2Activity"
            >
        </activity>
    </application>

	3.希望对你们有点帮助...











你可能感兴趣的:(android,Intent的显式声明)