Android Intent 用法全面总结及实例代码
程序员文章站
2024-03-06 14:51:14
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 的资料整理,后续继续补充相关资料,谢谢大家对本站的支持!