intent 大全

1.Intent的用法:
(1)用Action跳转
1、使用Action跳转,如果有一个程序的AndroidManifest.xml中的某一个 Activity的 IntentFilter段中 定义了包含了相同的Action那么这个Intent就与这个目标Action匹配。如果这个IntentFilter段中没有定义 Type,Category,那么这个 Activity就匹配了。 但是如果手机中有两个以上的程序匹配,那么就会弹出一个对话可框来提示说明。 
Action 的值在Android中有很多预定义, 如果你想直接转到你自己定义的Intent接收者,你可以在接收者的IntentFilter 中加入一个自定义的Action值(同时要设定 Category值为"android.intent.category.DEFAULT"),在你的Intent中设定该值为Intent的 Action,就直接能跳转到你自己的Intent接收者中。因为这个Action在系统中是唯一的。
2,data/type,你可以用Uri 来做为data,比如Uri uri = Uri.parse( http://www.google.com);
Intent i = new Intent(Intent.ACTION_VIEW,uri);手机的Intent分发过程中,会根据http://www.google.com 的scheme判断出数据类型type 。手机的Brower则能匹配它,在Brower的Manifest.xml中的IntenFilter中 首先有ACTION_VIEW Action,也能处理http:的type,
3, 至于分类Category,一般不要去在Intent中设置它,如果你写Intent的接收者,就在Manifest.xml的Activity的 IntentFilter中包含android.category.DEFAULT,这样所有不设置 Category(Intent.addCategory(String c);)的Intent都会与这个Category匹配。
4,extras(附 加信息),是其它所有附加信息的集合。使用extras可以为组件提供扩展信息,比如,如果要执行“发送电子邮件”这个动 作,可以将电子邮件的标题、正文等保存在extras里,传给电子邮件发送组件。
(2)用类名跳转
    Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描 述,Android则根据此Intent的描述, 负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。Intent在这里起着实现调用者与被调用者之间的解耦作用。Intent传递过程中,要找 到目标消费者(另一个Activity,IntentReceiver或Service),也就是Intent的响 应者。
Intent intent  =   new  Intent();
intent.setClass(context, targetActivy.
class );
//或者直接用 Intent intent = new Intent(context, targetActivity.class);

startActivity(intent);
不过注意用类名跳转,需要在AndroidManifest.xml中申明activity  
<activity android:name="targetActivity"></activity>
2.几种Intent的用法
android 中intent是经常要用到的。不管是页面牵转,还是传递数据,或是调用外部程序,系统功能都要用到intent。在做了一些intent的例子之后,整理了一下intent,希望对大家有用。由于intent内容太多,不可能真的写全,难免会有遗落,以后我会随时更新。如果你们有疑问或新的intent内容,希望交流。 
★intent大全: 
1.从google搜索内容 
Intent intent = new Intent(); 
intent.setAction(Intent.ACTION_WEB_SEARCH); 
intent.putExtra(SearchManager.QUERY,"searchString") 
startActivity(intent); 

2.浏览网页 
Uri uri = Uri.parse("http://www.google.com"); 
Intent it  = new Intent(Intent.ACTION_VIEW,uri); 
startActivity(it); 

3.显示地图 
Uri uri = Uri.parse("geo:38.899533,-77.036476"); 
Intent it = new Intent(Intent.Action_VIEW,uri); 
startActivity(it); 

4.路径规划 
Uri uri = Uri.parse("http://maps.google.com/maps?f=dsaddr=startLat%20startLng&daddr=endLat%20endLng&hl=en"); 
Intent it = new Intent(Intent.ACTION_VIEW,URI); 
startActivity(it); 

5.拨打电话 
Uri uri = Uri.parse("tel:xxxxxx"); 
Intent it = new Intent(Intent.ACTION_DIAL, uri);   
startActivity(it); 

6.调用发短信的程序 
Intent it = new Intent(Intent.ACTION_VIEW);    
it.putExtra("sms_body", "The SMS text");    
it.setType("vnd.android-dir/mms-sms");    
startActivity(it); 

7.发送短信 
Uri uri = Uri.parse("smsto:0800000123");    
Intent it = new Intent(Intent.ACTION_SENDTO, uri);    
it.putExtra("sms_body", "The SMS text");    
startActivity(it); 
String body="this is sms demo"; 
Intent mmsintent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("smsto", number, null)); 
mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_BODY, body); 
mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_COMPOSE_MODE, true); 
mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SENT, true); 
startActivity(mmsintent); 

8.发送彩信 
Uri uri = Uri.parse("content://media/external/images/media/23");    
Intent it = new Intent(Intent.ACTION_SEND);    
it.putExtra("sms_body", "some text");    
it.putExtra(Intent.EXTRA_STREAM, uri);    
it.setType("image/png");    
startActivity(it); 
StringBuilder sb = new StringBuilder(); 
sb.append("file://"); 
sb.append(fd.getAbsoluteFile()); 
Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mmsto", number, null)); 
// Below extra datas are all optional. 
intent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_SUBJECT, subject); 
intent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_BODY, body); 
intent.putExtra(Messaging.KEY_ACTION_SENDTO_CONTENT_URI, sb.toString()); 
intent.putExtra(Messaging.KEY_ACTION_SENDTO_COMPOSE_MODE, composeMode); 
intent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SENT, exitOnSent); 
startActivity(intent); 

9.发送Email 
Uri uri = Uri.parse("mailto:xxx@abc.com"); 
Intent it = new Intent(Intent.ACTION_SENDTO, uri); 
startActivity(it); 
Intent it = new Intent(Intent.ACTION_SEND);    
it.putExtra(Intent.EXTRA_EMAIL, "me@abc.com");    
it.putExtra(Intent.EXTRA_TEXT, "The email body text");    
it.setType("text/plain");    
startActivity(Intent.createChooser(it, "Choose Email Client")); 
Intent it=new Intent(Intent.ACTION_SEND);      
String[] tos={"me@abc.com"};      
String[] ccs={"you@abc.com"};      
it.putExtra(Intent.EXTRA_EMAIL, tos);      
it.putExtra(Intent.EXTRA_CC, ccs);      
it.putExtra(Intent.EXTRA_TEXT, "The email body text");      
it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");      
it.setType("message/rfc822");      
startActivity(Intent.createChooser(it, "Choose Email Client"));    

Intent it = new Intent(Intent.ACTION_SEND);    
it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");    
it.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/mysong.mp3");    
sendIntent.setType("audio/mp3");    
startActivity(Intent.createChooser(it, "Choose Email Client")); 

10.播放多媒体   
Intent it = new Intent(Intent.ACTION_VIEW); 
Uri uri = Uri.parse("file:///sdcard/song.mp3"); 
it.setDataAndType(uri, "audio/mp3"); 
startActivity(it); 
Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "1");    
Intent it = new Intent(Intent.ACTION_VIEW, uri);    
startActivity(it); 

11.uninstall apk 
Uri uri = Uri.fromParts("package", strPackageName, null);    
Intent it = new Intent(Intent.ACTION_DELETE, uri);    
startActivity(it); 

12.install apk 
Uri installUri = Uri.fromParts("package", "xxx", null); 
returnIt = new Intent(Intent.ACTION_PACKAGE_ADDED, installUri); 

13. 打开照相机
 
    <1>Intent i = new Intent(Intent.ACTION_CAMERA_BUTTON, null); 
           this.sendBroadcast(i);
 
     <2>long dateTaken = System.currentTimeMillis(); 
            String name = createName(dateTaken) + ".jpg"; 
            fileName = folder + name; 
            ContentValues values = new ContentValues(); 
            values.put(Images.Media.TITLE, fileName); 
            values.put("_data", fileName); 
            values.put(Images.Media.PICASA_ID, fileName); 
            values.put(Images.Media.DISPLAY_NAME, fileName); 
            values.put(Images.Media.DESCRIPTION, fileName); 
            values.put(Images.ImageColumns.BUCKET_DISPLAY_NAME, fileName); 
            Uri photoUri = getContentResolver().insert( 
                    MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values); 
             
            Intent inttPhoto = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
            inttPhoto.putExtra(MediaStore.EXTRA_OUTPUT, photoUri); 
            startActivityForResult(inttPhoto, 10); 

14.从gallery选取图片 
  Intent i = new Intent(); 
            i.setType("image/*"); 
            i.setAction(Intent.ACTION_GET_CONTENT); 
            startActivityForResult(i, 11); 

15. 打开录音机 
   Intent mi = new Intent(Media.RECORD_SOUND_ACTION); 
            startActivity(mi); 

16.显示应用详细列表       
Uri uri = Uri.parse("market://details?id=app_id");         
Intent it = new Intent(Intent.ACTION_VIEW, uri);         
startActivity(it);         
//where app_id is the application ID, find the ID          
//by clicking on your application on Market home          
//page, and notice the ID from the address bar      

刚才找app id未果,结果发现用package name也可以 
Uri uri = Uri.parse("market://details?id=<packagename>"); 
这个简单多了 

17寻找应用       
Uri uri = Uri.parse("market://search?q=pname:pkg_name");         
Intent it = new Intent(Intent.ACTION_VIEW, uri);         
startActivity(it); 
//where pkg_name is the full package path for an application       

18打开联系人列表 
            <1>            
           Intent i = new Intent(); 
           i.setAction(Intent.ACTION_GET_CONTENT); 
           i.setType("vnd.android.cursor.item/phone"); 
           startActivityForResult(i, REQUEST_TEXT); 

            <2> 
            Uri uri = Uri.parse("content://contacts/people"); 
            Intent it = new Intent(Intent.ACTION_PICK, uri); 
            startActivityForResult(it, REQUEST_TEXT); 

19 打开另一程序 
Intent i = new Intent(); 
            ComponentName cn = new ComponentName("com.yellowbook.android2", 
                    "com.yellowbook.android2.AndroidSearch"); 
            i.setComponent(cn); 
            i.setAction("android.intent.action.MAIN"); 
            startActivityForResult(i, RESULT_OK); 

20.调用系统编辑添加联系人(高版本SDK有效):
Intent it = newIntent(Intent.ACTION_INSERT_OR_EDIT);
               it.setType("vnd.android.cursor.item/contact");
                //it.setType(Contacts.CONTENT_ITEM_TYPE);
                it.putExtra("name","myName");
               it.putExtra(android.provider.Contacts.Intents.Insert.COMPANY,  "organization");
               it.putExtra(android.provider.Contacts.Intents.Insert.EMAIL,"email");
                it.putExtra(android.provider.Contacts.Intents.Insert.PHONE,"homePhone");
                it.putExtra(android.provider.Contacts.Intents.Insert.SECONDARY_PHONE,
                               "mobilePhone");
                it.putExtra(  android.provider.Contacts.Intents.Insert.TERTIARY_PHONE,
                               "workPhone");
               it.putExtra(android.provider.Contacts.Intents.Insert.JOB_TITLE,"title");
                startActivity(it);
 
21.调用系统编辑添加联系人(全有效):
Intent intent = newIntent(Intent.ACTION_INSERT_OR_EDIT);
           intent.setType(People.CONTENT_ITEM_TYPE);
           intent.putExtra(Contacts.Intents.Insert.NAME, "My Name");
           intent.putExtra(Contacts.Intents.Insert.PHONE, "+1234567890");
           intent.putExtra(Contacts.Intents.Insert.PHONE_TYPE,Contacts.PhonesColumns.TYPE_MOBILE);
           intent.putExtra(Contacts.Intents.Insert.EMAIL, "com@com.com");
           intent.putExtra(Contacts.Intents.Insert.EMAIL_TYPE,                    Contacts.ContactMethodsColumns.TYPE_WORK);
           startActivity(intent);


★intent action大全: 
  • android.intent.action.ALL_APPS
  • android.intent.action.ANSWER
  • android.intent.action.ATTACH_DATA
  • android.intent.action.BUG_REPORT
  • android.intent.action.CALL
  • android.intent.action.CALL_BUTTON
  • android.intent.action.CHOOSER
  • android.intent.action.CREATE_LIVE_FOLDER
  • android.intent.action.CREATE_SHORTCUT
  • android.intent.action.DELETE
  • android.intent.action.DIAL
  • android.intent.action.EDIT
  • android.intent.action.GET_CONTENT
  • android.intent.action.INSERT
  • android.intent.action.INSERT_OR_EDIT
  • android.intent.action.MAIN
  • android.intent.action.MEDIA_SEARCH
  • android.intent.action.PICK
  • android.intent.action.PICK_ACTIVITY
  • android.intent.action.RINGTONE_PICKER
  • android.intent.action.RUN
  • android.intent.action.SEARCH
  • android.intent.action.SEARCH_LONG_PRESS
  • android.intent.action.SEND
  • android.intent.action.SENDTO
  • android.intent.action.SET_WALLPAPER
  • android.intent.action.SYNC
  • android.intent.action.SYSTEM_TUTORIAL
  • android.intent.action.VIEW
  • android.intent.action.VOICE_COMMAND
  • android.intent.action.WEB_SEARCH
  • android.net.wifi.PICK_WIFI_NETWORK
  • android.settings.AIRPLANE_MODE_SETTINGS
  • android.settings.APN_SETTINGS
  • android.settings.APPLICATION_DEVELOPMENT_SETTINGS
  • android.settings.APPLICATION_SETTINGS
  • android.settings.BLUETOOTH_SETTINGS
  • android.settings.DATA_ROAMING_SETTINGS
  • android.settings.DATE_SETTINGS
  • android.settings.DISPLAY_SETTINGS
  • android.settings.INPUT_METHOD_SETTINGS
  • android.settings.INTERNAL_STORAGE_SETTINGS
  • android.settings.LOCALE_SETTINGS
  • android.settings.LOCATION_SOURCE_SETTINGS
  • android.settings.MANAGE_APPLICATIONS_SETTINGS
  • android.settings.MEMORY_CARD_SETTINGS
  • android.settings.NETWORK_OPERATOR_SETTINGS
  • android.settings.QUICK_LAUNCH_SETTINGS
  • android.settings.SECURITY_SETTINGS
  • android.settings.SETTINGS
  • android.settings.SOUND_SETTINGS
  • android.settings.SYNC_SETTINGS
  • android.settings.USER_DICTIONARY_SETTINGS
  • android.settings.WIFI_IP_SETTINGS
  • android.settings.WIFI_SETTINGS
  • android.settings.WIRELESS_SETTINGS


android intent和intent action大全
android 中intent是经常要用到的。不管是页面牵转,还是传递数据,或是调用外部程序,系统功能都要用到intent。在做了一些intent的例子之后,整理了一下intent。

★intent大全: 
1.从google搜索内容 
Intent intent = new Intent(); 
intent.setAction(Intent.ACTION_WEB_SEARCH); 
intent.putExtra(SearchManager.QUERY,"searchString") 
startActivity(intent);
2.浏览网页 
Uri uri = Uri.parse(" http://www.google.com"); 
Intent it  = new Intent(Intent.ACTION_VIEW,uri); 
startActivity(it);
3.显示地图 
Uri uri = Uri.parse("geo:38.899533,-77.036476"); 
Intent it = new Intent(Intent.Action_VIEW,uri); 
startActivity(it);
4.路径规划 
Uri uri = Uri.parse(" http://maps.google.com/maps?f=dsaddr=startLat%20startLng&daddr=endLat%20endLng&hl=en"); 
Intent it = new Intent(Intent.ACTION_VIEW,URI); 
startActivity(it);
5.拨打电话 
Uri uri = Uri.parse("tel:xxxxxx"); 
Intent it = new Intent(Intent.ACTION_DIAL, uri);   
startActivity(it);
6.调用发短信的程序 
Intent it = new Intent(Intent.ACTION_VIEW);    
it.putExtra("sms_body", "The SMS text");    
it.setType("vnd.android-dir/mms-sms");    
startActivity(it);
7.发送短信 
Uri uri = Uri.parse("smsto:0800000123");    
Intent it = new Intent(Intent.ACTION_SENDTO, uri);    
it.putExtra("sms_body", "The SMS text");    
startActivity(it); 
String body="this is sms demo"; 
Intent mmsintent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("smsto", number, null)); 
mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_BODY, body); 
mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_COMPOSE_MODE, true); 
mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SENT, true); 
startActivity(mmsintent);
8.发送彩信 
Uri uri = Uri.parse("content://media/external/images/media/23");    
Intent it = new Intent(Intent.ACTION_SEND);    
it.putExtra("sms_body", "some text");    
it.putExtra(Intent.EXTRA_STREAM, uri);    
it.setType("image/png");    
startActivity(it); 
StringBuilder sb = new StringBuilder(); 
sb.append("file://"); 
sb.append(fd.getAbsoluteFile()); 
Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mmsto", number, null)); 
// Below extra datas are all optional. 
intent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_SUBJECT, subject); 
intent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_BODY, body); 
intent.putExtra(Messaging.KEY_ACTION_SENDTO_CONTENT_URI, sb.toString()); 
intent.putExtra(Messaging.KEY_ACTION_SENDTO_COMPOSE_MODE, composeMode); 
intent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SENT, exitOnSent); 
startActivity(intent);
9.发送Email 
Uri uri = Uri.parse(" mailto:xxx@abc.com"); 
Intent it = new Intent(Intent.ACTION_SENDTO, uri); 
startActivity(it); 
Intent it = new Intent(Intent.ACTION_SEND);    
it.putExtra(Intent.EXTRA_EMAIL, " me@abc.com");    
it.putExtra(Intent.EXTRA_TEXT, "The email body text");    
it.setType("text/plain");    
startActivity(Intent.createChooser(it, "Choose Email Client")); 
Intent it=new Intent(Intent.ACTION_SEND);      
String[] tos={" me@abc.com"};      
String[] ccs={" you@abc.com"};      
it.putExtra(Intent.EXTRA_EMAIL, tos);      
it.putExtra(Intent.EXTRA_CC, ccs);      
it.putExtra(Intent.EXTRA_TEXT, "The email body text");      
it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");      
it.setType("message/rfc822");      
startActivity(Intent.createChooser(it, "Choose Email Client"));   
Intent it = new Intent(Intent.ACTION_SEND);    
it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");    
it.putExtra(Intent.EXTRA_STREAM, "[url=]file:///sdcard/mysong.mp3[/url]");    
sendIntent.setType("audio/mp3");    
startActivity(Intent.createChooser(it, "Choose Email Client"));
10.播放多媒体   
Intent it = new Intent(Intent.ACTION_VIEW); 
Uri uri = Uri.parse("[url=]file:///sdcard/song.mp3[/url]"); 
it.setDataAndType(uri, "audio/mp3"); 
startActivity(it); 
Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "1");    
Intent it = new Intent(Intent.ACTION_VIEW, uri);    
startActivity(it);
11.uninstall apk 
Uri uri = Uri.fromParts("package", strPackageName, null);    
Intent it = new Intent(Intent.ACTION_DELETE, uri);    
startActivity(it);
12.install apk 
Uri installUri = Uri.fromParts("package", "xxx", null); 
returnIt = new Intent(Intent.ACTION_PACKAGE_ADDED, installUri);
13. 打开照相机 
    <1>Intent i = new Intent(Intent.ACTION_CAMERA_BUTTON, null); 
           this.sendBroadcast(i); 
     <2>long dateTaken = System.currentTimeMillis(); 
            String name = createName(dateTaken) + ".jpg"; 
            fileName = folder + name; 
            ContentValues values = new ContentValues(); 
            values.put(Images.Media.TITLE, fileName); 
            values.put("_data", fileName); 
            values.put(Images.Media.PICASA_ID, fileName); 
            values.put(Images.Media.DISPLAY_NAME, fileName); 
            values.put(Images.Media.DESCRIPTION, fileName); 
            values.put(Images.ImageColumns.BUCKET_DISPLAY_NAME, fileName); 
            Uri photoUri = getContentResolver().insert( 
                    MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values); 
             
            Intent inttPhoto = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
            inttPhoto.putExtra(MediaStore.EXTRA_OUTPUT, photoUri); 
            startActivityForResult(inttPhoto, 10);
14.从gallery选取图片 
  Intent i = new Intent(); 
            i.setType("image/*"); 
            i.setAction(Intent.ACTION_GET_CONTENT); 
            startActivityForResult(i, 11);
15. 打开录音机 
   Intent mi = new Intent(Media.RECORD_SOUND_ACTION); 
            startActivity(mi);
16.显示应用详细列表       
Uri uri = Uri.parse("market://details?id=app_id");         
Intent it = new Intent(Intent.ACTION_VIEW, uri);         
startActivity(it);         
//where app_id is the application ID, find the ID          
//by clicking on your application on Market home          
//page, and notice the ID from the address bar      
刚才找app id未果,结果发现用package name也可以 
Uri uri = Uri.parse("market://details?id=<packagename>"); 
这个简单多了
17寻找应用       
Uri uri = Uri.parse("market://search?q=pname:pkg_name");         
Intent it = new Intent(Intent.ACTION_VIEW, uri);         
startActivity(it); 
//where pkg_name is the full package path for an application      
18打开联系人列表 
            <1>            
           Intent i = new Intent(); 
           i.setAction(Intent.ACTION_GET_CONTENT); 
           i.setType("vnd.android.cursor.item/phone"); 
           startActivityForResult(i, REQUEST_TEXT);
            <2> 
            Uri uri = Uri.parse("content://contacts/people"); 
            Intent it = new Intent(Intent.ACTION_PICK, uri); 
            startActivityForResult(it, REQUEST_TEXT);
19 打开另一程序 
Intent i = new Intent(); 
            ComponentName cn = new ComponentName("com.yellowbook.android2", 
                    "com.yellowbook.android2.AndroidSearch"); 
            i.setComponent(cn); 
            i.setAction("android.intent.action.MAIN"); 
            startActivityForResult(i, RESULT_OK);
20.调用系统编辑添加联系人(高版本SDK有效): 
Intent it = new Intent(Intent.ACTION_INSERT_OR_EDIT); 
                it.setType("vnd.android.cursor.item/contact"); 
                // it.setType(Contacts.CONTENT_ITEM_TYPE); 
                it.putExtra("name", "myName"); 
                it.putExtra(android.provider.Contacts.Intents.Insert.COMPANY,  "organization"); 
                it.putExtra(android.provider.Contacts.Intents.Insert.EMAIL, "email"); 
                it.putExtra(android.provider.Contacts.Intents.Insert.PHONE,"homePhone"); 
                it.putExtra( android.provider.Contacts.Intents.Insert.SECONDARY_PHONE, 
                                "mobilePhone"); 
                it.putExtra(  android.provider.Contacts.Intents.Insert.TERTIARY_PHONE, 
                                "workPhone"); 
                it.putExtra(android.provider.Contacts.Intents.Insert.JOB_TITLE,"title"); 
                startActivity(it);
21.调用系统编辑添加联系人(全有效): 
Intent intent = new Intent(Intent.ACTION_INSERT_OR_EDIT); 
            intent.setType(People.CONTENT_ITEM_TYPE); 
            intent.putExtra(Contacts.Intents.Insert.NAME, "My Name"); 
            intent.putExtra(Contacts.Intents.Insert.PHONE, "+1234567890"); 
            intent.putExtra(Contacts.Intents.Insert.PHONE_TYPE, Contacts.PhonesColumns.TYPE_MOBILE); 
            intent.putExtra(Contacts.Intents.Insert.EMAIL, " com@com.com"); 
            intent.putExtra(Contacts.Intents.Insert.EMAIL_TYPE,                    Contacts.ContactMethodsColumns.TYPE_WORK); 
            startActivity(intent);
22(更新) 
    //直接打电话出去   
    Uri uri = Uri.parse("tel:0800000123");   
    Intent it = new Intent(Intent.ACTION_CALL, uri);   
    startActivity(it);   
    //用這個,要在 AndroidManifest.xml 中,加上   
    //<uses-permission id="android.permission.CALL_PHONE" />
23.最基本的share 信息的intent,可以传一段text信息到各个手机上已安装程序:如SMS,Email,sina微波,米聊,facebook,twitter等等
                Intent it = new Intent(Intent.ACTION_SEND); 
                it.putExtra(Intent.EXTRA_TEXT, "The email subject text"); 
                it.setType("text/plain"); 
                startActivity(Intent.createChooser(it, "Choose Email Client")); 
          
24.调用skype 的intent
方法1:老版,新版不可用,可能是因为skype的activity结构变动:
//        Intent sky = new Intent("android.intent.action.CALL_PRIVILEGED"); 
//        sky.setClassName("com.skype.raider", 
//                "com.skype.raider.contactsync.ContactSkypeOutCallStartActivity"); 
//        sky.setData(Uri.parse("tel:" + phone)); 
//        startActivity(sky);
方法2:打开到skype的main page:
//        PackageManager packageManager = getActivity().getPackageManager(); 
//        Intent skype = packageManager.getLaunchIntentForPackage("com.skype.raider"); 
//        skype.setData(Uri.parse("tel:65465446")); 
//        startActivity(skype);
方法3:传入号码,直接进入skype拨号画面并打电话:
        Intent intent = new Intent("android.intent.action.CALL_PRIVILEGED");   
        intent.setClassName("com.skype.raider", 
        "com.skype.raider.Main"); 
        intent.setData(Uri.parse("tel:" + phone));   
        startActivity(intent);    
★intent action大全:
String ADD_SHORTCUT_ACTION 动作:在系统中添加一个快捷方式。. “android.intent.action.ADD_SHORTCUT”
  String ALL_APPS_ACTION 动作:列举所有可用的应用。
  输入:无。 “android.intent.action.ALL_APPS”
  String ALTERNATIVE_CATEGORY 类别:说明 activity 是用户正在浏览的数据的一个可选操作。 “android.intent.category.ALTERNATIVE”
  String ANSWER_ACTION 动作:处理拨入的电话。 “android.intent.action.ANSWER”
  String BATTERY_CHANGED_ACTION 广播:充电状态,或者电池的电量发生变化。 “android.intent.action.BATTERY_CHANGED”
  String BOOT_COMPLETED_ACTION 广播:在系统启动后。
       这个动作被广播一次(只有一次)。 “android.intent.action.BOOT_COMPLETED”
  String BROWSABLE_CATEGORY 类别:能够被浏览器安全使用的 activities 必须支持这个类别。 “android.intent.category.BROWSABLE”
  String BUG_REPORT_ACTION 动作:显示 activity 报告错误。 “android.intent.action.BUG_REPORT”
  String CALL_ACTION 动作:拨打电话。
       被呼叫的联系人在数据中指定。 “android.intent.action.CALL”
  String CALL_FORWARDING_STATE_CHANGED_ACTION 广播:语音电话的呼叫转移状态已经改变。 “android.intent.action.CFF”
  String CLEAR_CREDENTIALS_ACTION 动作:清除登陆凭证 (credential)。 “android.intent.action.CLEAR_CREDENTIALS”
  String CONFIGURATION_CHANGED_ACTION 广播:设备的配置信息已经改变,参见 Resources.Configuration. “android.intent.action.CONFIGURATION_CHANGED”
  Creator CREATOR 无 无
  String DATA_ACTIVITY_STATE_CHANGED_ACTION 广播:电话的数据活动(data activity)状态(即收发数据的状态)已经改变。 “android.intent.action.DATA_ACTIVITY”
  String DATA_CONNECTION_STATE_CHANGED_ACTION 广播:电话的数据连接状态已经改变。 “android.intent.action.DATA_STATE”
  String DATE_CHANGED_ACTION 广播:日期被改变。 “android.intent.action.DATE_CHANGED”
  String DEFAULT_ACTION 动作:和 VIEW_ACTION 相同,是在数据上执行的标准动作。 “android.intent.action.VIEW”
  String DEFAULT_CATEGORY 类别:如果 activity 是对数据执行确省动作(点击, center press)的一个选项,需要设置这个类别。 “android.intent.category.DEFAULT”
  String DELETE_ACTION 动作:从容器中删除给定的数据。 “android.intent.action.DELETE”
  String DEVELOPMENT_PREFERENCE_CATEGORY 类别:说明 activity 是一个设置面板 (development preference panel). “android.intent.category.DEVELOPMENT_PREFERENCE”
  String DIAL_ACTION 动作:拨打数据中指定的电话号码。 “android.intent.action.DIAL”
  String EDIT_ACTION 动作:为制定的数据显示可编辑界面。 “android.intent.action.EDIT”
  String EMBED_CATEGORY 类别:能够在上级(父)activity 中运行。 “android.intent.category.EMBED”
  String EMERGENCY_DIAL_ACTION 动作:拨打紧急电话号码。 “android.intent.action.EMERGENCY_DIAL”
  int FORWARD_RESULT_LAUNCH 启动标记:如果这个标记被设置。
       而且被一个已经存在的 activity 用来启动新的 activity,已有 activity 的回复目标 (reply target) 会被转移给新的 activity。 16 0×00000010
  String FOTA_CANCEL_ACTION 广播:取消所有被挂起的 (pending) 更新下载。 “android.server.checkin.FOTA_CANCEL”
  String FOTA_INSTALL_ACTION 广播:更新已经被确认,马上就要开始安装。 “android.server.checkin.FOTA_INSTALL”
  String FOTA_READY_ACTION 广播:更新已经被下载。
       可以开始安装。 “android.server.checkin.FOTA_READY”
  String FOTA_RESTART_ACTION 广播:恢复已经停止的更新下载。 “android.server.checkin.FOTA_RESTART”
  String FOTA_UPDATE_ACTION 广播:通过 OTA 下载并安装操作系统更新。 “android.server.checkin.FOTA_UPDATE”
  String FRAMEWORK_INSTRUMENTATION_TEST_CATEGORY 类别:To be used as code under test for framework instrumentation tests. “android.intent.category.FRAMEWORK_INSTRUMENTATION _TEST”
  String GADGET_CATEGORY 类别:这个 activity 可以被嵌入宿主 activity (activity that is hosting gadgets)。 “android.intent.category.GADGET”
  String GET_CONTENT_ACTION 动作:让用户选择数据并返回。 “android.intent.action.GET_CONTENT”
  String HOME_CATEGORY 类别:主屏幕 (activity)。
       设备启动后显示的第一个 activity。 “android.intent.category.HOME”
  String INSERT_ACTION 动作:在容器中插入一个空项 (item)。 “android.intent.action.INSERT”
  String INTENT_EXTRA 附加数据:和 PICK_ACTIVITY_ACTION 一起使用时,说明用户选择的用来显示的 activity;和 ADD_SHORTCUT_ACTION 一起使用的时候,描述要添加的快捷方式。 “android.intent.extra.INTENT”
  String LABEL_EXTRA 附加数据:大写字母开头的字符标签,和 ADD_SHORTCUT_ACTION 一起使用。 “android.intent.extra.LABEL”
  String LAUNCHER_CATEGORY 类别:Activity 应该被显示在顶级的 launcher 中。 “android.intent.category.LAUNCHER”
  String LOGIN_ACTION 动作:获取登录凭证。 “android.intent.action.LOGIN”
  String MAIN_ACTION 动作:作为主入口点启动,不需要数据。 “android.intent.action.MAIN”
  String MEDIABUTTON_ACTION 广播:用户按下了“Media Button”。 “android.intent.action.MEDIABUTTON”
  String MEDIA_BAD_REMOVAL_ACTION 广播:扩展介质(扩展卡)已经从 SD 卡插槽拔出,但是挂载点 (mount point) 还没解除 (unmount)。 “android.intent.action.MEDIA_BAD_REMOVAL”
  String MEDIA_EJECT_ACTION 广播:用户想要移除扩展介质(拔掉扩展卡)。 “android.intent.action.MEDIA_EJECT”
  String MEDIA_MOUNTED_ACTION 广播:扩展介质被插入,而且已经被挂载。 “android.intent.action.MEDIA_MOUNTED”
  String MEDIA_REMOVED_ACTION 广播:扩展介质被移除。 “android.intent.action.MEDIA_REMOVED”
  String MEDIA_SCANNER_FINISHED_ACTION 广播:已经扫描完介质的一个目录。 “android.intent.action.MEDIA_SCANNER_FINISHED”
  String MEDIA_SCANNER_STARTED_ACTION 广播:开始扫描介质的一个目录。 “android.intent.action.MEDIA_SCANNER_STARTED”
  String MEDIA_SHARED_ACTION 广播:扩展介质的挂载被解除 (unmount)。
       因为它已经作为 USB 大容量存储被共享。 “android.intent.action.MEDIA_SHARED”
  String MEDIA_UNMOUNTED_ACTION 广播:扩展介质存在,但是还没有被挂载 (mount)。 “android.intent.action.MEDIA_UNMOUNTED”
  String MESSAGE_WAITING_STATE_CHANGED_ACTION 广播:电话的消息等待(语音邮件)状态已经改变。 “android.intent.action.MWI”
  int MULTIPLE_TASK_LAUNCH 启动标记:和 NEW_TASK_LAUNCH 联合使用。
       禁止将已有的任务改变为前景任务 (foreground)。 8 0×00000008
  String NETWORK_TICKLE_RECEIVED_ACTION 广播:设备收到了新的网络 “tickle” 通知。 “android.intent.action.NETWORK_TICKLE_RECEIVED”
  int NEW_TASK_LAUNCH 启动标记:设置以后,activity 将成为历史堆栈中的第一个新任务(栈顶)。 4 0×00000004
  int NO_HISTORY_LAUNCH 启动标记:设置以后,新的 activity 不会被保存在历史堆栈中。 1 0×00000001
  String PACKAGE_ADDED_ACTION 广播:设备上新安装了一个应用程序包。 “android.intent.action.PACKAGE_ADDED”
  String PACKAGE_REMOVED_ACTION 广播:设备上删除了一个应用程序包。 “android.intent.action.PACKAGE_REMOVED”
  String PHONE_STATE_CHANGED_ACTION 广播:电话状态已经改变。 “android.intent.action.PHONE_STATE”
  String PICK_ACTION 动作:从数据中选择一个项目 (item),将被选中的项目返回。 “android.intent.action.PICK”
  String PICK_ACTIVITY_ACTION 动作:选择一个 activity,返回被选择的 activity 的类(名)。 “android.intent.action.PICK_ACTIVITY”
  String PREFERENCE_CATEGORY 类别:activity是一个设置面板 (preference panel)。 “android.intent.category.PREFERENCE”
  String PROVIDER_CHANGED_ACTION 广播:更新将要(真正)被安装。 “android.intent.action.PROVIDER_CHANGED”
  String PROVISIONING_CHECK_ACTION 广播:要求 polling of provisioning service 下载最新的设置。 “android.intent.action.PROVISIONING_CHECK”
  String RUN_ACTION 动作:运行数据(指定的应用),无论它(应用)是什么。 “android.intent.action.RUN”
  String SAMPLE_CODE_CATEGORY 类别:To be used as an sample code example (not part of the normal user experience). “android.intent.category.SAMPLE_CODE”
  String SCREEN_OFF_ACTION 广播:屏幕被关闭。 “android.intent.action.SCREEN_OFF”
  String SCREEN_ON_ACTION 广播:屏幕已经被打开。 “android.intent.action.SCREEN_ON”
  String SELECTED_ALTERNATIVE_CATEGORY 类别:对于被用户选中的数据。
       activity 是它的一个可选操作。 “android.intent.category.SELECTED_ALTERNATIVE”
  String SENDTO_ACTION 动作:向 data 指定的接收者发送一个消息。 “android.intent.action.SENDTO”
  String SERVICE_STATE_CHANGED_ACTION 广播:电话服务的状态已经改变。 “android.intent.action.SERVICE_STATE”
  String SETTINGS_ACTION 动作:显示系统设置。输入:无。 “android.intent.action.SETTINGS”
  String SIGNAL_STRENGTH_CHANGED_ACTION 广播:电话的信号强度已经改变。 “android.intent.action.SIG_STR”
  int SINGLE_TOP_LAUNCH 启动标记:设置以后,如果 activity 已经启动。
       而且位于历史堆栈的顶端,将不再启动(不重新启动) activity。 2 0×00000002
  String STATISTICS_REPORT_ACTION 广播:要求 receivers 报告自己的统计信息。 “android.intent.action.STATISTICS_REPORT”
  String STATISTICS_STATE_CHANGED_ACTION 广播:统计信息服务的状态已经改变。 “android.intent.action.STATISTICS_STATE_CHANGED”
  String SYNC_ACTION 动作:执行数据同步。 “android.intent.action.SYNC”
  String TAB_CATEGORY 类别:这个 activity 应该在 TabActivity 中作为一个 tab 使用。 “android.intent.category.TAB”
  String TEMPLATE_EXTRA 附加数据:新记录的初始化模板。 “android.intent.extra.TEMPLATE”
  String TEST_CATEGORY 类别:作为测试目的使用,不是正常的用户体验的一部分。 “android.intent.category.TEST”
  String TIMEZONE_CHANGED_ACTION 广播:时区已经改变。 “android.intent.action.TIMEZONE_CHANGED”
  String TIME_CHANGED_ACTION 广播:时间已经改变(重新设置)。 “android.intent.action.TIME_SET”
  String TIME_TICK_ACTION 广播:当前时间已经变化(正常的时间流逝)。 “android.intent.action.TIME_TICK”
  String UMS_CONNECTED_ACTION 广播:设备进入 USB 大容量存储模式。 “android.intent.action.UMS_CONNECTED”
  String UMS_DISCONNECTED_ACTION 广播:设备从 USB 大容量存储模式退出。 “android.intent.action.UMS_DISCONNECTED”
  String UNIT_TEST_CATEGORY 类别:应该被用作单元测试(通过 test harness 运行)。 “android.intent.category.UNIT_TEST”
  String VIEW_ACTION 动作:向用户显示数据。 “android.intent.action.VIEW”
  String WALLPAPER_CATEGORY 类别:这个 activity 能过为设备设置墙纸。 “android.intent.category.WALLPAPER”
  String WALLPAPER_CHANGED_ACTION 广播:系统的墙纸已经改变。 “android.intent.action.WALLPAPER_CHANGED”
  String WALLPAPER_SETTINGS_ACTION 动作:显示选择墙纸的设置界面。输入:无。 “android.intent.action.WALLPAPER_SETTINGS”
  String WEB_SEARCH_ACTION 动作:执行 web 搜索。 “android.intent.action.WEB_SEARCH”
  String XMPP_CONNECTED_ACTION 广播:XMPP 连接已经被建立。 “android.intent.action.XMPP_CONNECTED”
  String XMPP_DISCONNECTED_ACTION 广播:XMPP 连接已经被断开。 “android.intent.action.XMPP_DI 

[编辑公共构造函数] 
Public Constructor  
Intent()  创建空的intent对象。  
Intent(Intent o)  拷贝构造函数。  
Intent(String action)  用指定的动作创建 intent 对象。  
Intent(String action, ContentURI uri)  创建 intent 对象,指定动作和数据 (URI)。  
Intent(Context packageContext, Class cls)  创建 intent 对象,指定 component。  
Intent(String action, ContentURI uri, Context packageContext, Class cls)  创建 intent 对象,指定动作、数据和组件。  

公共方法
Public Constructor  
Intent addCategory(String category)  向 intent 添加新的类别。
  
Intent addLaunchFlags(int flags)  向 intent 添加新的启动标记。 

boolean filterEquals(Intent other)  判断两个 intent 是否相等:检查他们是否有完全相同的意图(用于过滤)。 

int filterHashCode()  生成 intent 的哈希代码,该代码与 filterEquals 有同样的语义,即能用于进行 intent 比较。
  
String getAction()  获取 intent 要执行的动作,如:VIEW_ACTION。 

Set getCategories()  获取 intent 对象所属的所有类别(集合)。 

ComponentName getComponent()  获取 intent 关联的具体组件。 

ContentURI getData()  获取 intent 对象要操作的数据 (URI)。 

Object getExtra(String name, Object def)  获取 intent 的扩展数据。  
Object getExtra(String name)  获取 intent 的扩展数据。  
Bundle getExtras()  获取 intent 的扩展数据 map。  
static Intent getIntent(String uri)  由 URI 创建 Intent。  
int getLaunchFlags()  获取 intent 的所有启动标记。 

String getScheme()  获取 intent 中数据的 sheme。
  
String getType()  获取 intent 明确声明的数据类型(显式声明的 MIME 类型,不是推导出来的类型)。 

boolean hasCategory(String category)  Intent 是否指定了类别。 

Intent putExtra(String name, Object value)  向 intent 添加扩展数据。  
void putExtras(Intent src)  将 src 中的所有扩展数据复制到 intent 中。
  
void putExtras(Bundle extras)  向 intent 添加扩展数据。 

void readFromParcel(Parcel in)  无。 

void removeCategory(String category)  从 intent 删除一个类别。 

void removeExtra(String name)  从 intent 删除扩展数据。 

ComponentName resolveActivity(PackageManager pm)  取得用来处理这个 intent 的 activity 组件。
  
ActivityInfo resolveActivityInfo(PackageManager pm)  取得用来处理这个 intent 的 activity 的信息 (PackageManager.ActivityInfo)。
  
String resolveType(ContentResolver resolver)  取得 intent 的 MIME 数据类型。(判断顺序:intent 明确指定的类型;intent 数据隐式包含的数据类型)
  
String resolveType(Context context)  取得 intent 的 MIME 数据类型。(判断顺序:intent 明确指定的类型;intent 数据隐式包含的数据类型) 

String resolveTypeIfNeeded(ContentResolver resolver)  如果 resolver 需要,返回 intent 的数据类型,否则返回空。 

Intent setAction(String action)  设置 intent 要执行的动作。 

Intent setClass(Context packageContext, Class cls)  设置运行 intent 的组件,和 setComponent 功能相同。
  
Intent setClassName(String packageName, String className)  设置运行 intent 的组件,和 setComponent 功能相同。
  
Intent setClassName(Context packageContext, String className)  设置运行 intent 的组件,和 setComponent 功能相同。 

Intent setComponent(ComponentName component)  设置运行 intent 的组件。
  
Intent setData(ContentURI data)  设置处理 intent 的时候要操作的数据。
  
Intent setDataAndType(ContentURI data, String type)  设置 intent 的数据和数据类型 (MIME)。
  
Intent setLaunchFlags(int flags)  设置启动标记(用来控制 intent 被处理的方式)。
  
Intent setType(String type)  设置明确的 MIME 数据类型。 

String toString()  为 intent 生成一个可读的字符串描述。 

String toURI()  无  
void writeToParcel(Parcel out)  无  
转载自 : http://www.apkbus.com/android-72361-1-1.html
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值