zoukankan      html  css  js  c++  java
  • Intent的一些用法

     

    Intent用法实例

    1.无参数Activity跳转

    Java代码 复制代码 收藏代码
    1. Intent it = new Intent(Activity.Main.this, Activity2.class);   
    2. startActivity(it);   
     


    2.向下一个Activity传递数据(使用Bundle和Intent.putExtras)

    Java代码 复制代码 收藏代码
    1. Intent it = new Intent(Activity.Main.this, Activity2.class);   
    2. Bundle bundle=new Bundle();   
    3. bundle.putString("name""This is from MainActivity!");   
    4. it.putExtras(bundle);       // it.putExtra(“test”, "shuju”);   
    5. startActivity(it);            // startActivityForResult(it,REQUEST_CODE);  



    对于数据的获取可以采用:

    Java代码 复制代码 收藏代码
    1. Bundle bundle=getIntent().getExtras();   
    2. String name=bundle.getString("name");  



    3.向上一个Activity返回结果(使用setResult,针对startActivityForResult(it,REQUEST_CODE)启动的Activity)
    Java代码 复制代码 收藏代码
    1. Intent intent=getIntent();   
    2.         Bundle bundle2=new Bundle();   
    3.         bundle2.putString("name""This is from ShowMsg!");   
    4.         intent.putExtras(bundle2);   
    5.         setResult(RESULT_OK, intent);  

           

    4.回调上一个Activity的结果处理函数(onActivityResult)
    Java代码 复制代码 收藏代码
    1. @Override  
    2.     protected void onActivityResult(int requestCode, int resultCode, Intent data) {   
    3.         // TODO Auto-generated method stub   
    4.         super.onActivityResult(requestCode, resultCode, data);   
    5.         if (requestCode==REQUEST_CODE){   
    6.             if(resultCode==RESULT_CANCELED)   
    7.                   setTitle("cancle");   
    8.             else if (resultCode==RESULT_OK) {   
    9.                  String temp=null;   
    10.                  Bundle bundle=data.getExtras();   
    11.                  if(bundle!=null)   temp=bundle.getString("name");   
    12.                  setTitle(temp);   
    13.             }   
    14.         }   
    15.     }  



    下面是转载来的其他的一些Intent用法实例(转自javaeye)

    显示网页
    Java代码 复制代码 收藏代码
    1. 1. Uri uri = Uri.parse("http://google.com");     
    2.    2. Intent it = new Intent(Intent.ACTION_VIEW, uri);     
    3.    3. startActivity(it);   

      
    显示地图
    Java代码 复制代码 收藏代码
    1. 1. Uri uri = Uri.parse("geo:38.899533,-77.036476");     
    2.    2. Intent it = new Intent(Intent.ACTION_VIEW, uri);      
    3.    3. startActivity(it);      
    4.    4//其他 geo URI 範例     
    5.    5//geo:latitude,longitude     
    6.    6//geo:latitude,longitude?z=zoom     
    7.    7//geo:0,0?q=my+street+address     
    8.    8//geo:0,0?q=business+near+city     
    9.    9//google.streetview:cbll=lat,lng&cbp=1,yaw,,pitch,zoom&mz=mapZoom   

      

    路径规划
    Java代码 复制代码 收藏代码
    1. 1. Uri uri = Uri.parse("http://maps.google.com/maps?f=d&saddr=startLat%20startLng&daddr=endLat%20endLng&hl=en");     
    2.    2. Intent it = new Intent(Intent.ACTION_VIEW, uri);     
    3.    3. startActivity(it);     
    4.    4//where startLat, startLng, endLat, endLng are a long with 6 decimals like: 50.123456    

      
    打电话
    Java代码 复制代码 收藏代码
    1. 1//叫出拨号程序    
    2.    2. Uri uri = Uri.parse("tel:0800000123");     
    3.    3. Intent it = new Intent(Intent.ACTION_DIAL, uri);     
    4.    4. startActivity(it);     
    5.    1//直接打电话出去     
    6.    2. Uri uri = Uri.parse("tel:0800000123");     
    7.    3. Intent it = new Intent(Intent.ACTION_CALL, uri);     
    8.    4. startActivity(it);     
    9.    5//用這個,要在 AndroidManifest.xml 中,加上     
    10.    6//<uses-permission id="android.permission.CALL_PHONE" />    

      

    传送SMS/MMS
    Java代码 复制代码 收藏代码
    1. 1//调用短信程序    
    2.    2. Intent it = new Intent(Intent.ACTION_VIEW, uri);     
    3.    3. it.putExtra("sms_body""The SMS text");      
    4.    4. it.setType("vnd.android-dir/mms-sms");     
    5.    5. startActivity(it);    
    6.    1//传送消息    
    7.    2. Uri uri = Uri.parse("smsto://0800000123");     
    8.    3. Intent it = new Intent(Intent.ACTION_SENDTO, uri);     
    9.    4. it.putExtra("sms_body""The SMS text");     
    10.    5. startActivity(it);    
    11.    1//传送 MMS     
    12.    2. Uri uri = Uri.parse("content://media/external/images/media/23");     
    13.    3. Intent it = new Intent(Intent.ACTION_SEND);      
    14.    4. it.putExtra("sms_body""some text");      
    15.    5. it.putExtra(Intent.EXTRA_STREAM, uri);     
    16.    6. it.setType("image/png");      
    17.    7. startActivity(it);    

      

    传送 Email
    Java代码 复制代码 收藏代码
    1. 1. Uri uri = Uri.parse("mailto:xxx@abc.com");     
    2.   2. Intent it = new Intent(Intent.ACTION_SENDTO, uri);     
    3.   3. startActivity(it);     
    4.   
    5.   
    6.   1. Intent it = new Intent(Intent.ACTION_SEND);     
    7.   2. it.putExtra(Intent.EXTRA_EMAIL, "me@abc.com");     
    8.   3. it.putExtra(Intent.EXTRA_TEXT, "The email body text");     
    9.   4. it.setType("text/plain");     
    10.   5. startActivity(Intent.createChooser(it, "Choose Email Client"));     
    11.   
    12.   
    13.   1. Intent it=new Intent(Intent.ACTION_SEND);       
    14.   2. String[] tos={"me@abc.com"};       
    15.   3. String[] ccs={"you@abc.com"};       
    16.   4. it.putExtra(Intent.EXTRA_EMAIL, tos);       
    17.   5. it.putExtra(Intent.EXTRA_CC, ccs);       
    18.   6. it.putExtra(Intent.EXTRA_TEXT, "The email body text");       
    19.   7. it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");       
    20.   8. it.setType("message/rfc822");       
    21.   9. startActivity(Intent.createChooser(it, "Choose Email Client"));  

      


       传送附件
      
    Java代码 复制代码 收藏代码
    1. Intent it = new Intent(Intent.ACTION_SEND);     
    2.    it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");     
    3.    it.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/mysong.mp3");     
    4.    sendIntent.setType("audio/mp3");     
    5.    startActivity(Intent.createChooser(it, "Choose Email Client"));   

      

    播放多媒体
    Java代码 复制代码 收藏代码
    1. Uri uri = Uri.parse("file:///sdcard/song.mp3");     
    2.       Intent it = new Intent(Intent.ACTION_VIEW, uri);     
    3.       it.setType("audio/mp3");     
    4.       startActivity(it);    
    5.       Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "1");     
    6.       Intent it = new Intent(Intent.ACTION_VIEW, uri);     
    7.       startActivity(it);   

         

    Market 相关
            //寻找某个应用
    Java代码 复制代码 收藏代码
    1. Uri uri = Uri.parse("market://search?q=pname:pkg_name");    
    2.      Intent it = new Intent(Intent.ACTION_VIEW, uri);     
    3.      startActivity(it);    

        
        
      //where pkg_name is the full package path for an application
    Java代码 复制代码 收藏代码
    1. 显示某个应用的相关信息    
    2.        Uri uri = Uri.parse("market://details?id=app_id");     
    3.       Intent it = new Intent(Intent.ACTION_VIEW, uri);    
    4.        startActivity(it);     
    5.        //where app_id is the application ID, find the ID      
    6.        //by clicking on your application on Market home      
    7.        //page, and notice the ID from the address bar   

          
    发起一个应用程序
    ComponentName 两个参数一个是包名 一个是包下的主类
    Java代码 复制代码 收藏代码
    1. final Intent intent = new Intent(Intent.ACTION_MAIN, null);   
    2. intent.addCategory(Intent.CATEGORY_LAUNCHER);   
    3. final ComponentName cn = new ComponentName("com.android.settings","com.android.settings.fuelgauge.PowerUsageSummary");   
    4. intent.setComponent(cn);   
    5. intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);   
    6. startActivity( intent);  


    Uninstall 应用程序
    Java代码 复制代码 收藏代码
    1. Uri uri = Uri.fromParts("package", strPackageName, null);    
    2.        Intent it = new Intent(Intent.ACTION_DELETE, uri);      
    3.         startActivity(it);    
           

    返回桌面
    Java代码 复制代码 收藏代码
    1. Intent unMyIntent = new Intent(Intent.ACTION_MAIN);   
    2.             unMyIntent.addCategory(Intent.CATEGORY_HOME);   
    3.             startActivity(unMyIntent);  


    发邮件
    Java代码 复制代码 收藏代码
    1. Uri uri = Uri.parse("mailto:fengsheng.studio@hotmail.com");            
    2. Intent it = new Intent(Intent.ACTION_SENDTO, uri);  


    发送文件
    Java代码 复制代码 收藏代码
    1. Intent intent = new Intent();   
    2. intent.setAction(Intent.ACTION_SEND);   
    3. intent.setType(mimeType);   
    4. intent.putExtra(Intent.EXTRA_STREAM, uri);   
    5.  startActivity(intent);   
    6.   
    7. 以上有两个变量需要说明:   
    8. 1. mimeType: 如果是图片,则为"image/*",如果是音频,则为"audio/*",如果是视频,则为"video/*"  
    9. 2. uri:如果是直接读取到文件路径并发送,则为Uri.fromFile(new File(filePath));   
    10.          如果是从数据库中查循出来的uri,则直接传入即可.  


    发起市场程序
    Java代码 复制代码 收藏代码
    1. Intent intent = new Intent(Intent.ACTION_VIEW,    
    2.             Uri.parse("market://details?id=pname:org.rabold.android.puzzleblox"));   
    3.             //Uri.parse("market://search?q=pname:org.rabold.android.puzzleblox"));   
    4.             startActivity(intent);  


    调用系统裁剪图片
    Java代码 复制代码 收藏代码
    1. Uri photoUri = Uri.fromFile(new File("/mnt/sdcard/ruhua.jpg"));   
    2.                 Log.i("path", photoUri.toString());   
    3.                 Intent intent = new Intent("com.android.camera.action.CROP");   
    4.                 intent.setDataAndType(photoUri, "image/*");   
    5.                 intent.putExtra("crop""true");   
    6.                 intent.putExtra("aspectX"1);   
    7.                 intent.putExtra("aspectY"1);   
    8.                 intent.putExtra("outputX"80);   
    9.                 intent.putExtra("outputY"80);   
    10.                 intent.putExtra("output", photoUri);   
    11.                 intent.putExtra("outputFormat""JPEG");  


    实现分享功能
    Java代码 复制代码 收藏代码
    1. Intent mIntent = new Intent(Intent.ACTION_SEND);   
    2. //根据分享的内容设置不同的mimeType          mIntent.setType("text/plain");   
    3. mIntent.putExtra(Intent.EXTRA_TEXT, "下载地址?");   
    4. mIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);   
    5. startActivity(Intent.createChooser(mIntent, "分享"));  


    获取图片
    Java代码 复制代码 收藏代码
    1. Intent intent = new Intent();   
    2.         /* 设置为image */  
    3.         intent.setType("image/*");   
    4.         /* 使用Intent.ACTION_GET_CONTENT这个Action */   
    5.         intent.setAction(Intent.ACTION_GET_CONTENT);   
    6.         /* 取得图片后返回本画面 */  
    7.         startActivityForResult(intent, 1);  
  • 相关阅读:
    Asp.net 动态添加Meta标签
    【转】在SharePoint Server 2010中更改“我的网站”
    SPQuery DateTime 类型查询
    Asp.net Web Application 打开 SharePoint 2010 Site 错误 The Web application at could not be found
    How To Create SharePoint 2010 Site Collection In Its Own DB
    C# 文件打印
    面试题 java集合
    《深入理解Java虚拟机》(六)堆内存使用分析,垃圾收集器 GC 日志解读
    《深入理解Java虚拟机》(五)JVM调优
    《深入理解Java虚拟机》(四)虚拟机性能监控与故障处理工具
  • 原文地址:https://www.cnblogs.com/yuzaipiaofei/p/4124107.html
Copyright © 2011-2022 走看看