30、隐式意图和显示意图

 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>
原文地址:https://www.cnblogs.com/androidsj/p/3966039.html