欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android Intent 用法全面总结及实例代码

程序员文章站 2024-03-05 16:27:07
1.调用拨号程序     // 给移动客服10086拨打电话 uri uri = uri.parse("tel:1...

1.调用拨号程序    

// 给移动客服10086拨打电话
uri uri = uri.parse("tel:10086");
intent intent = new intent(intent.action_dial, uri);
startactivity(intent);

2. 发送短信或彩信    

// 给10086发送内容为“hello”的短信
uri uri = uri.parse("smsto:10086");
intent intent = new intent(intent.action_sendto, uri);
intent.putextra("sms_body", "hello");
startactivity(intent);
// 发送彩信(相当于发送带附件的短信)
intent intent = new intent(intent.action_send);
intent.putextra("sms_body", "hello");
uri uri = uri.parse("content://media/external/images/media/23");
intent.putextra(intent.extra_stream, uri);
intent.settype("image/png");
startactivity(intent);

3. 通过浏览器打开网页    

// 打开google主页
uri uri = uri.parse("http://www.google.com");
intent intent = new intent(intent.action_view, uri);
startactivity(intent);

4. 发送电子邮件    

// 给someone@domain.com发邮件
uri uri = uri.parse("mailto:someone@domain.com");
intent intent = new intent(intent.action_sendto, uri);
startactivity(intent);
// 给someone@domain.com发邮件发送内容为“hello”的邮件
intent intent = new intent(intent.action_send);
intent.putextra(intent.extra_email, "someone@domain.com");
intent.putextra(intent.extra_subject, "subject");
intent.putextra(intent.extra_text, "hello");
intent.settype("text/plain");
startactivity(intent);
// 给多人发邮件
intent intent=new intent(intent.action_send);
string[] tos = {"1@abc.com", "2@abc.com"}; // 收件人
string[] ccs = {"3@abc.com", "4@abc.com"}; // 抄送
string[] bccs = {"5@abc.com", "6@abc.com"}; // 密送
intent.putextra(intent.extra_email, tos);
intent.putextra(intent.extra_cc, ccs);
intent.putextra(intent.extra_bcc, bccs);
intent.putextra(intent.extra_subject, "subject");
intent.putextra(intent.extra_text, "hello");
intent.settype("message/rfc822");
startactivity(intent);

5. 显示地图与路径规划    

// 打开google地图中国北京位置(北纬39.9,东经116.3)
uri uri = uri.parse("geo:39.9,116.3");
intent intent = new intent(intent.action_view, uri);
startactivity(intent);
// 路径规划:从北京某地(北纬39.9,东经116.3)到上海某地(北纬31.2,东经121.4)
uri uri = uri.parse("http://maps.google.com/maps?f=d&saddr=39.9 116.3&daddr=31.2 121.4");
intent intent = new intent(intent.action_view, uri);
startactivity(intent);

6. 播放多媒体    

intent intent = new intent(intent.action_view);
uri uri = uri.parse("file:///sdcard/foo.mp3");
intent.setdataandtype(uri, "audio/mp3");
startactivity(intent);
 
uri uri = uri.withappendedpath(mediastore.audio.media.internal_content_uri, "1");
intent intent = new intent(intent.action_view, uri);
startactivity(intent);

7. 拍照    

// 打开拍照程序
intent intent = new intent(mediastore.action_image_capture); 
startactivityforresult(intent, 0);
// 取出照片数据
bundle extras = intent.getextras(); 
bitmap bitmap = (bitmap) extras.get("data");

8. 获取并剪切图片    

// 获取并剪切图片
intent intent = new intent(intent.action_get_content);
intent.settype("image/*");
intent.putextra("crop", "true"); // 开启剪切
intent.putextra("aspectx", 1); // 剪切的宽高比为1:2
intent.putextra("aspecty", 2);
intent.putextra("outputx", 20); // 保存图片的宽和高
intent.putextra("outputy", 40); 
intent.putextra("output", uri.fromfile(new file("/mnt/sdcard/temp"))); // 保存路径
intent.putextra("outputformat", "jpeg");// 返回格式
startactivityforresult(intent, 0);
// 剪切特定图片
intent intent = new intent("com.android.camera.action.crop"); 
intent.setclassname("com.android.camera", "com.android.camera.cropimage"); 
intent.setdata(uri.fromfile(new file("/mnt/sdcard/temp"))); 
intent.putextra("outputx", 1); // 剪切的宽高比为1:2
intent.putextra("outputy", 2);
intent.putextra("aspectx", 20); // 保存图片的宽和高
intent.putextra("aspecty", 40);
intent.putextra("scale", true);
intent.putextra("nofacedetection", true); 
intent.putextra("output", uri.parse("file:///mnt/sdcard/temp")); 
startactivityforresult(intent, 0);

9. 打开google market    

// 打开google market直接进入该程序的详细页面
uri uri = uri.parse("market://details?id=" + "com.demo.app");
intent intent = new intent(intent.action_view, uri);
startactivity(intent);

10. 安装和卸载程序    

uri uri = uri.fromparts("package", "com.demo.app", null); 
intent intent = new intent(intent.action_delete, uri); 
startactivity(intent);

11. 进入设置界面    

// 进入无线网络设置界面(其它可以举一反三) 
intent intent = new intent(android.provider.settings.action_wireless_settings); 
startactivityforresult(intent, 0);

以上就是对android intent 的资料整理,后续继续补充相关资料,谢谢大家对本站的支持!