Intent的一些用法

it2025-10-06  4

转载http://qq361119908.iteye.com/blog/631534

ntent用法实例 1.无参数Activity跳转 

Java代码   Intent it = new Intent(Activity.Main.this, Activity2.class);  startActivity(it);   

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

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

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

Java代码   Bundle bundle=getIntent().getExtras();  String name=bundle.getString("name");  

3.向上一个Activity返回结果(使用setResult,针对startActivityForResult(it,REQUEST_CODE)启动的Activity) 

Java代码   Intent intent=getIntent();          Bundle bundle2=new Bundle();          bundle2.putString("name", "This is from ShowMsg!");          intent.putExtras(bundle2);          setResult(RESULT_OK, intent);  

        4.回调上一个Activity的结果处理函数(onActivityResult) 

Java代码   @Override      protected void onActivityResult(int requestCode, int resultCode, Intent data) {          // TODO Auto-generated method stub          super.onActivityResult(requestCode, resultCode, data);          if (requestCode==REQUEST_CODE){              if(resultCode==RESULT_CANCELED)                    setTitle("cancle");              else if (resultCode==RESULT_OK) {                   String temp=null;                   Bundle bundle=data.getExtras();                   if(bundle!=null)   temp=bundle.getString("name");                   setTitle(temp);              }          }      }  

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

Java代码   1. Uri uri = Uri.parse("http://google.com");       2. Intent it = new Intent(Intent.ACTION_VIEW, uri);       3. startActivity(it);   

   显示地图 

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

   路径规划 

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

   打电话 

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

   传送SMS/MMS 

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

   传送 Email 

Java代码   1. Uri uri = Uri.parse("mailto:xxx@abc.com");      2. Intent it = new Intent(Intent.ACTION_SENDTO, uri);      3. startActivity(it);          1. Intent it = new Intent(Intent.ACTION_SEND);      2. it.putExtra(Intent.EXTRA_EMAIL, "me@abc.com");      3. it.putExtra(Intent.EXTRA_TEXT, "The email body text");      4. it.setType("text/plain");      5. startActivity(Intent.createChooser(it, "Choose Email Client"));          1. Intent it=new Intent(Intent.ACTION_SEND);        2. String[] tos={"me@abc.com"};        3. String[] ccs={"you@abc.com"};        4. it.putExtra(Intent.EXTRA_EMAIL, tos);        5. it.putExtra(Intent.EXTRA_CC, ccs);        6. it.putExtra(Intent.EXTRA_TEXT, "The email body text");        7. it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");        8. it.setType("message/rfc822");        9. startActivity(Intent.createChooser(it, "Choose Email Client"));  

      传送附件   

Java代码   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"));   

   播放多媒体 

Java代码   Uri uri = Uri.parse("file:///sdcard/song.mp3");          Intent it = new Intent(Intent.ACTION_VIEW, uri);          it.setType("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);   

      Market 相关         //寻找某个应用 

Java代码   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 

Java代码   显示某个应用的相关信息          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   

       发起一个应用程序 ComponentName 两个参数一个是包名 一个是包下的主类 

Java代码   final Intent intent = new Intent(Intent.ACTION_MAIN, null);  intent.addCategory(Intent.CATEGORY_LAUNCHER);  final ComponentName cn = new ComponentName("com.android.settings","com.android.settings.fuelgauge.PowerUsageSummary");  intent.setComponent(cn);  intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  startActivity( intent);  

Uninstall 应用程序 

Java代码   Uri uri = Uri.fromParts("package", strPackageName, null);          Intent it = new Intent(Intent.ACTION_DELETE, uri);             startActivity(it);    

        返回桌面 

Java代码   Intent unMyIntent = new Intent(Intent.ACTION_MAIN);              unMyIntent.addCategory(Intent.CATEGORY_HOME);              startActivity(unMyIntent);  

发邮件 

Java代码   Uri uri = Uri.parse("mailto:fengsheng.studio@hotmail.com");           Intent it = new Intent(Intent.ACTION_SENDTO, uri);  

发送文件 

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

发起市场程序 

Java代码   Intent intent = new Intent(Intent.ACTION_VIEW,               Uri.parse("market://details?id=pname:org.rabold.android.puzzleblox"));              //Uri.parse("market://search?q=pname:org.rabold.android.puzzleblox"));              startActivity(intent);  

调用系统裁剪图片 

Java代码   Uri photoUri = Uri.fromFile(new File("/mnt/sdcard/ruhua.jpg"));                  Log.i("path", photoUri.toString());                  Intent intent = new Intent("com.android.camera.action.CROP");                  intent.setDataAndType(photoUri, "image/*");                  intent.putExtra("crop", "true");                  intent.putExtra("aspectX", 1);                  intent.putExtra("aspectY", 1);                  intent.putExtra("outputX", 80);                  intent.putExtra("outputY", 80);                  intent.putExtra("output", photoUri);                  intent.putExtra("outputFormat", "JPEG");  

实现分享功能 

Java代码   Intent mIntent = new Intent(Intent.ACTION_SEND);  //根据分享的内容设置不同的mimeType          mIntent.setType("text/plain");  mIntent.putExtra(Intent.EXTRA_TEXT, "下载地址?");  mIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  startActivity(Intent.createChooser(mIntent, "分享"));  

获取图片 

Java代码   Intent intent = new Intent();          /* 设置为image */          intent.setType("image/*");          /* 使用Intent.ACTION_GET_CONTENT这个Action */          intent.setAction(Intent.ACTION_GET_CONTENT);          /* 取得图片后返回本画面 */          startActivityForResult(intent, 1);  

转载于:https://www.cnblogs.com/zhujiulunjian/p/6565722.html

最新回复(0)