Android Intent的几种用法全面总结

@Devil独爱的空间 

Intent应该算是Android中特有的东西。你可以在Intent中指定程序要执行的动作(比如:view,edit,dial),以及程序执行到该动作时所需要的资料。都指定好后,只要调用startActivity(),Android系统会自动寻找最符合你指定要求的应用程序,并执行该程序。

下面列出几种Intent的用法
显示网页:

  1. Uri uri = Uri.parse("http://www.google.com");
  2. Intent it   = new Intent(Intent.ACTION_VIEW,uri);
  3. startActivity(it);
显示地图:
  1. Uri uri = Uri.parse("geo:38.899533,-77.036476");
  2. Intent it = new Intent(Intent.Action_VIEW,uri);
  3. startActivity(it);
路径规划:
  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);
拨打电话:
调用拨号程序
  1. Uri uri = Uri.parse("tel:xxxxxx");
  2. Intent it = new Intent(Intent.ACTION_DIAL, uri);  
  3. startActivity(it);  
  1. Uri uri = Uri.parse("tel.xxxxxx");
  2. Intent it =new Intent(Intent.ACTION_CALL,uri);
  3. 要使用这个必须在配置文件中加入android.permission.CALL_PHONE" />
发送SMS/MMS
调用发送短信的程序
  1. Intent it = new Intent(Intent.ACTION_VIEW);
  2. it.putExtra("sms_body", "The SMS text");
  3. it.setType("vnd.android-dir/mms-sms");
  4. startActivity(it);  
发送短信
  1. Uri uri = Uri.parse("smsto:0800000123");
  2. Intent it = new Intent(Intent.ACTION_SENDTO, uri);
  3. it.putExtra("sms_body", "The SMS text");
  4. startActivity(it);  
发送彩信
  1. Uri uri = Uri.parse("content://media/external/images/media/23");
  2. Intent it = new Intent(Intent.ACTION_SEND);
  3. it.putExtra("sms_body", "some text");
  4. it.putExtra(Intent.EXTRA_STREAM, uri);
  5. it.setType("image/png");
  6. startActivity(it);
发送Email
  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"));
添加附件
  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"));
播放多媒体
  1.   
  2. Intent it = new Intent(Intent.ACTION_VIEW);
  3. Uri uri = Uri.parse("file:///sdcard/song.mp3");
  4. it.setDataAndType(uri, "audio/mp3");
  5. startActivity(it);
  1. Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "1");
  2. Intent it = new Intent(Intent.ACTION_VIEW, uri);
  3. startActivity(it);  
Uninstall 程序
  1. Uri uri = Uri.fromParts("package", strPackageName, null);
  2. Intent it = new Intent(Intent.ACTION_DELETE, uri);
  3. startActivity(it);

免费private git服务

找到一个比较好的免费的private git服务:codaset

hosts free, private and semi-private Git based projects, and provides each of your projects with web based Git source control, issue/ticket management, a wiki, blog, and an advanced permissions system, amongst others.

最多支持5人团队共享一个repo,推荐使用。

Tell Me More

TELL ME MORE是一个全面的外语教学方法,提供丰富多彩的教学内容,采用多媒体技术,使教学过程更灵活更富有互动性。通过多种不同的练习方式, Tell Me More致力于从根本上提高语言交流能力: 听力、阅读、口语表达、写作以及词汇和语法。

在模拟真实语言环境下,通过TELL ME MORE可以轻松掌握语法,词汇,发音和动词变换等语言要素,从而提高这些语言交流能力。

试用了一下,感觉还不错!马克一下。(要下载的去verycd上下吧)

和广告说再见

在博客上放了几个月的Google adsense,发现也没有人点。算了,去掉吧,既然没有人点,还不如不影响那些使用没有过滤广告的用户的浏览速度。木哈哈!