调用Android系统功能使用

@ 调用系统的分享功能
 
    //分享文字
    public void shareText(View view) {
        Intent shareIntent = new Intent();
        shareIntent.setAction(Intent.ACTION_SEND);
        shareIntent.putExtra(Intent.EXTRA_TEXT, "This is my Share text.");
        shareIntent.setType("text/plain");
 
        //设置分享列表的标题,并且每次都显示分享列表
        startActivity(Intent.createChooser(shareIntent, "分享到"));
    }
 
    //分享单张图片
    public void shareSingleImage(View view) {
        String imagePath = Environment.getExternalStorageDirectory() + File.separator + "test.jpg";
        //由文件得到uri
        Uri imageUri = Uri.fromFile(new File(imagePath));
        Log.d("share""uri:" + imageUri);  //输出:file:///storage/emulated/0/test.jpg
 
        Intent shareIntent = new Intent();
        shareIntent.setAction(Intent.ACTION_SEND);
        shareIntent.putExtra(Intent.EXTRA_STREAM, imageUri);
        shareIntent.setType("image/*");
        startActivity(Intent.createChooser(shareIntent, "分享到"));
    }
 
    //分享多张图片
    public void shareMultipleImage(View view) {
        ArrayList<uri> uriList = new ArrayList<>();
 
        String path = Environment.getExternalStorageDirectory() + File.separator;
        uriList.add(Uri.fromFile(new File(path+"australia_1.jpg")));
        uriList.add(Uri.fromFile(new File(path+"australia_2.jpg")));
        uriList.add(Uri.fromFile(new File(path+"australia_3.jpg")));
 
        Intent shareIntent = new Intent();
        shareIntent.setAction(Intent.ACTION_SEND_MULTIPLE);
        shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uriList);
        shareIntent.setType("image/*");
        startActivity(Intent.createChooser(shareIntent, "分享到"));
    }
 

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 = newIntent(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 = newIntent(Intent.ACTION_VIEW,URI);
 
startActivity(it);
 
  
 
5.拨打电话
 
Uri uri =Uri.parse("tel:xxxxxx");
 
Intent it = new Intent(Intent.ACTION_DIAL,uri); 
 
startActivity(it);
 
  
 
6.调用发短信的程序
 
方法1
 
Intent it = newIntent(Intent.ACTION_VIEW);  
 
it.putExtra("sms_body""TheSMS text");  
 
it.setType("vnd.android-dir/mms-sms");  
 
startActivity(it);
 
  
 
7.发送短信
 
方法2
 
Uri uri =Uri.parse("smsto:0800000123");  
 
Intent it = newIntent(Intent.ACTION_SENDTO, uri);  
 
it.putExtra("sms_body""TheSMS text");  
 
startActivity(it);
 
  
 
方法三:
 
String body="this is sms demo";
 
Intent mmsintent = newIntent(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 = newIntent(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 = newIntent(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 = newIntent(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, "Theemail 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, "Theemail body text");    
 
it.putExtra(Intent.EXTRA_SUBJECT, "Theemail subject text");    
 
it.setType("message/rfc822");    
 
startActivity(Intent.createChooser(it,"Choose Email Client"));  
 
  
 
Intent it = newIntent(Intent.ACTION_SEND);  
 
it.putExtra(Intent.EXTRA_SUBJECT, "Theemail 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 = newIntent(Intent.ACTION_DELETE, uri);  
 
startActivity(it);
 
  
 
12.install apk
 
Uri installUri = Uri.fromParts("package","xxx"null);
 
returnIt = newIntent(Intent.ACTION_PACKAGE_ADDED, installUri);
 
  
 
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse("file://" + filepath),"application/vnd.android.package-archive");
startActivity(intent);// 安装
 
  
 
  
 
13. 打开照相机
 
   <1> Intent intent = new Intent("android.media.action.STILL_IMAGE_CAMERA"); //调用照相机
          startActivity(intent);
 
  
 
   <2>Intent i = new Intent(Intent.ACTION_CAMERA_BUTTON, null);
 
          this.sendBroadcast(i);
 
    <3>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, findthe ID        
 
//by clicking on your application on Markethome        
 
//page, and notice the ID from the addressbar    
 
  
 
刚才找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 pathfor 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 = newComponentName("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);
 
  
 
sdk 文档 android_sdk/docs/guide/appendix/g-app-intents.html
 
 
 
  
 
  
 
★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
posted @ 2015-11-24 12:31  nick_leeli  阅读(322)  评论(0编辑  收藏  举报