现在的位置: 首页 > 综合 > 正文

Android感觉01——Intent使用

2013年09月18日 ⁄ 综合 ⁄ 共 3990字 ⁄ 字号 评论关闭

转载:http://www.android123.com.cn/androidkaifa/612.html

显示Web网页:

  1. Uri uri = Uri.parse("http://www.android123.com.cn");
  2. Intent it = new Intent(Intent.ACTION_VIEW,uri);
  3. startActivity(it);

显示Google地图:

  1. Uri uri = Uri.parse("geo:38.899533,-77.036476");
  2. Intent it = new Intent(Intent.Action_VIEW,uri);
  3. startActivity(it);

Maps路径规划:

  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);

注意需要权限 <uses-permission id="android.permission.CALL_PHONE" />

发送SMS/MMS

  1. Intent it = new Intent(Intent.ACTION_VIEW);
  2. it.putExtra("sms_body", "android开发网欢迎您");
  3. it.setType("vnd.android-dir/mms-sms");
  4. startActivity(it);  

发送短信

  1. Uri uri = Uri.parse("smsto:10086");
  2. Intent it = new Intent(Intent.ACTION_SENDTO, uri);
  3. it.putExtra("sms_body", "10086"); //正文为10086
  4. startActivity(it);  

发送彩信

  1. Uri uri = Uri.parse("content://media/external/images/media/10"); //该Uri根据实际情况修改,external代表外部存储即sdcard
  2. Intent it = new Intent(Intent.ACTION_SEND);
  3. it.putExtra("sms_body", "android123.com.cn");
  4. it.putExtra(Intent.EXTRA_STREAM, uri);
  5. it.setType("image/png");
  6. startActivity(it);

发送Email

  2. Uri uri = Uri.parse("mailto:android123@163.com");
  3. Intent it = new Intent(Intent.ACTION_SENDTO, uri);
  4. startActivity(it);

  1. Intent it = new Intent(Intent.ACTION_SEND);
  2. it.putExtra(Intent.EXTRA_EMAIL, "android123@163.com");
  3. it.putExtra(Intent.EXTRA_TEXT, "android开发网测试");
  4. it.setType("text/plain");
  5. startActivity(Intent.createChooser(it, "选择一个Email客户端"));  

  1. Intent it=new Intent(Intent.ACTION_SEND);  
  2. String[] tos={"android123@163.com"};     //发送到
  3. String[] ccs={"ophone123@163.com"};    //抄送
  4. it.putExtra(Intent.EXTRA_EMAIL, tos);  
  5. it.putExtra(Intent.EXTRA_CC, ccs);  
  6. it.putExtra(Intent.EXTRA_TEXT, "正文");  
  7. it.putExtra(Intent.EXTRA_SUBJECT, "标题");  
  8. it.setType("message/rfc822");    //编码类型
  9. startActivity(Intent.createChooser(it, "选择一个Email客户端"));

Email添加附件

  1. Intent it = new Intent(Intent.ACTION_SEND);
  2. it.putExtra(Intent.EXTRA_SUBJECT, "正文");
  3. it.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/nobody.mp3"); //附件为sd卡上的nobody MP3文件
  4. sendIntent.setType("audio/mp3");
  5. startActivity(Intent.createChooser(it, "选择一个Email客户端"));

播放多媒体

  1.  
  2. Intent it = new Intent(Intent.ACTION_VIEW);
  3. Uri uri = Uri.parse("file:///sdcard/nobody.mp3");
  4. it.setDataAndType(uri, "audio/mp3");
  5. startActivity(it);

  1. Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "1"); //从系统内部的MediaProvider索引中调用播放
  2. Intent it = new Intent(Intent.ACTION_VIEW, uri);
  3. startActivity(it);  

Uninstall卸载程序

  1. Uri uri = Uri.fromParts("package", packageName, null); //packageName为包名,比如com.android123.apkInstaller
  2. Intent it = new Intent(Intent.ACTION_DELETE, uri);
  3. startActivity(it);

进入联系人界面

  1. Intent intent = new Intent();
  2. intent.setAction(Intent.ACTION_VIEW);
  3. intent.setData(People.CONTENT_URI);
  4. startActivity(intent);

 查看某个联系人,当然这里是ACTION_VIEW,如果为选择并返回action改为ACTION_PICK,当然处理intent时返回需要用到startActivityforResult

  1.  Uri personUri =ContentUris.withAppendedId(People.CONTENT_URI,ID);//最后的ID参数为联系人Provider中的数据库BaseID,即哪一行
  2.  Intent intent = new Intent();
  3.  intent.setAction(Intent.ACTION_VIEW);
  4.  intent.setData(personUri);
  5. startActivity(intent);

 选择一个图片

  1. Intent intent = newIntent(Intent.ACTION_GET_CONTENT); 
  2. intent.addCategory(Intent.CATEGORY_OPENABLE); 
  3. intent.setType("image google_ad_slot = \"5506163105\";google_ad_width = 468; google_ad_height = 60;);

需要自己下载APK并实现安装整个实现比较简单,但可以清晰说明Android平台的隐式Intent。在系统安装的底层常规的应用通过系统服务PackageInstaller来识别程序安装的Intent来执行安装。

  1. Intent intent = new Intent(Intent.ACTION_VIEW);
  2. intent.setDataAndType(Uri.parse("file://"+ "/sdcard/android123.com/cwj.apk","application/vnd.android.package-archive");
  3. startActivity(intent);

  PackageInstaller服务将会在内部匹配MIME类型为application/vnd.android.package-archive的Intent,要说明的是setDataAndType的参数第一个为URI,其实URI内部的String对应为file://加上常规的路径,当然其他的Uri构造方法还可以Uri.fromFile(new File(sfileFullPath))。

抱歉!评论已关闭.