• 调用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
  • 相关阅读:
    【C# 调用 Go 语言】
    Go语言多线程 (转)
    CodeSoft 2019 企业版打标签
    (转)FFT求频谱图和功率谱密度图
    使用NI-DAQmx进行振动数据采集
    CentOS7 安装配置笔记
    .net 调用 nsfwjs 进行视频鉴别
    Electron.Net + Linux + Blazor 初尝备忘录
    关于feign调用的时候,动态传url ,以及自定义head
    go使用excelize导出xls
  • 原文地址:https://www.cnblogs.com/tmlee/p/4991227.html
Copyright © 2020-2023  润新知