1 import android.app.Activity;
2 import android.content.Intent;
3 import android.net.Uri;
4 import android.os.Bundle;
5 import android.view.View;
6
7 /**
8 * 隐式意图和显示意图
9 * @author dr
10 *
11 */
12 public class Demo1Activity extends Activity {
13 @Override
14 public void onCreate(Bundle savedInstanceState) {
15 super.onCreate(savedInstanceState);
16 setContentView(R.layout.main);
17 }
18
19 public void open(View view){
20 // intent 意图 , 描述一个动作, 激活一个组件
21 /* 第一种写法
22 * Intent intent = new Intent();
23 intent.setClassName("cn.itcast.mutileactivity", "cn.itcast.mutileactivity.Demo2Activity");*/
24 // 第二种写法
25 // Intent intent = new Intent(this,Demo2Activity.class);
26 /*
27 *第三种写法
28 Intent intent = new Intent();
29 ComponentName component = new ComponentName("cn.itcast.mutileactivity", "cn.itcast.mutileactivity.Demo2Activity");
30 intent.setComponent(component);
31 */
32 //前面的三种写法 要求必须要知道 被激活的组件的包名和 class的名字
33 //显示意图
34 //****************************************************
35 // Intent intent = new Intent();
36 // intent.setAction("cn.itcast.mutileactivity.xxx");
37 // intent.addCategory("android.xxx");
38 // intent.setData(Uri.parse("itcast://cn.itcast.demo"));
39 //intent.setType(type); // mime 数据类型 image/jpeg
40 // 隐式意图
41 // 只需要指定 intent的动作 ,intent的数据
42 // 如果我们想激活另外一个应用程序的组件
43 // Intent intent = new Intent();
44 // intent.setAction(Intent.ACTION_PICK);
45 //
46 // intent.setType("image/jpeg");
47
48 // intent 要去做一件事 泡 动作 泡茶 泡咖啡 泡妞 打人 打酱油
49 // intent.setData();指定数据的类型 type
50 // intent.addCategory();
51 /**
52 * <intent-filter>
53 <action android:name="android.intent.action.VIEW" />
54 <category android:name="android.intent.category.DEFAULT" />
55 <data android:mimeType="vnd.android-dir/mms-sms" />
56 </intent-filter>
57 */
58 /* Intent intent = new Intent();
59 intent.setAction(Intent.ACTION_VIEW);
60 intent.addCategory("android.intent.category.DEFAULT");
61 intent.setType("vnd.android-dir/mms-sms");*/
62 /**
63 * <intent-filter>
64 <action android:name="android.intent.action.VIEW" />
65 <action android:name="android.intent.action.SENDTO" />
66 <category android:name="android.intent.category.DEFAULT" />
67 <category android:name="android.intent.category.BROWSABLE" />
68 <data android:scheme="sms" />
69 <data android:scheme="smsto" />
70 </intent-filter>
71 */
72
73 Intent intent = new Intent();
74 intent.setAction("android.intent.action.SENDTO");
75 intent.addCategory("android.intent.category.DEFAULT");
76 intent.setData(Uri.parse("smsto:123456"));
77 startActivity(intent);
78 }
79 }
1 public class Demo2Activity extends Activity {
2 @Override
3 protected void onCreate(Bundle savedInstanceState) {
4 super.onCreate(savedInstanceState);
5 setContentView(R.layout.main2);
6 }
7 }
1 <?xml version="1.0" encoding="utf-8"?>
2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
3 package="cn.itcast.mutileactivity"
4 android:versionCode="1"
5 android:versionName="1.0" >
6
7 <uses-sdk android:minSdkVersion="8" />
8
9 <application
10 android:icon="@drawable/ic_launcher"
11 android:label="@string/app_name" >
12 <activity
13 android:label="@string/app_name"
14 android:name=".Demo1Activity" >
15 <intent-filter >
16 <action android:name="android.intent.action.MAIN" />
17 <category android:name="android.intent.category.LAUNCHER" />
18 </intent-filter>
19 </activity>
20 <activity
21 android:label="@string/activity02"
22 android:name=".Demo2Activity" >
23 <intent-filter >
24 <action android:name="cn.itcast.mutileactivity.Demo2Activity" />
25 <action android:name="cn.itcast.mutileactivity.xxx" />
26 <category android:name="android.intent.category.DEFAULT" />
27 <category android:name="android.xxx" />
28 </intent-filter>
29 </activity>
30 </application>
31
32 </manifest>