[android] 10_自定义隐式意图激活另外一个Activity

Android 4.0

自定义隐式意图激活另外一个Activity

一、基本的自定义隐式意图激活另外一个Activity
1、AndroidManifest.xml必须的最少配置
<!-- 注册Activity -->
<activity android:name="cn.zengfansheng.userdefineimpliciteintent.SecondActivity" >  
  <!-- 1、activity android:name当前Activity的全路径  -->                                
<intent-filter>
     <action android:name="cn.zengfansheng.userdefineimpliciteintent.Second"/> 
     <!--2、action,对应于代码中的intent.setAction()-->
     <category android:name="android.intent.category.DEFAULT"></category>
     <!--3、category类别,一般为DEFAULT,如果要做其他用途,如机顶盒,车载CAR_DOCK桌面应用:Home -->
</intent-filter>
</activity>
2、代码中调用
@Override
public void onClick(View v) {
    Intent intent = new Intent();
    intent.setAction("cn.zengfansheng.userdefineimpliciteintent.Second");
    this.startActivity(intent);
}
二、<intent-filter >中的其他内容 

public void onClick(View v) {
    Intent intent = new Intent();
    intent.setAction("cn.zengfansheng.userdefineimpliciteintent.Second"); // 对应于intent-filter中的action
    // 1、mimetype text/plain
    //intent.setType("image/jpeg");// 和<data android:mimeType="image/jpeg"/>对应

    // 2、模式 hacket//
    // intent.setData(Uri.parse("hacket//:我是schema"));//对应android:scheme="hacket//"

    // 3、host //www.baidu.com
    // intent.setData(Uri.parse("hacket//://www.baidu.com"));//对应android:scheme="hacket//" android:host="www.baidu.com"

    // 4、端口号 8080
    //intent.setData(Uri.parse("hacket//://www.baidu.com:8080"));//android:scheme="hacket//" android:host="www.baidu.com" android:port="8080"

    // 5、path /tieba
    intent.setData(Uri.parse("hacket//://www.baidu.com:8080/tieba"));
    this.startActivity(intent);
}
AndroidManifest.xml
<!-- 注册Activity -->
        <activity 
           android:name="cn.zengfansheng.userdefineimpliciteintent.SecondActivity"  
            >                                  <!-- 当前Activity的全路径  -->
            <intent-filter>
                <action android:name="cn.zengfansheng.userdefineimpliciteintent.Second"/>
                <category android:name="android.intent.category.DEFAULT"></category>
               <!-- android:mimeType="image/jpeg" -->
                <data 
                    android:scheme="hacket//"
                    android:host="www.baidu.com"
                    android:port="8080"
                    android:path="/tieba"
                    />
            </intent-filter>
            
        </activity>