`

Android Intent 用法全面总结

 
阅读更多

来自:http://www.oschina.net/code/snippet_54100_7587

 

// 监听网络改变状态!

android.net.ConnectivityManager.CONNECTIVITY_ACTION

  

 

代码片段(11)

[代码] 调用拨号程序

1 // 给移动客服10086拨打电话
2 Uri uri = Uri.parse("tel:10086");
3 Intent intent = new Intent(Intent.ACTION_DIAL, uri);
4 startActivity(intent);

[代码] 发送短信或彩信

01 // 给10086发送内容为“Hello”的短信
02 Uri uri = Uri.parse("smsto:10086");
03 Intent intent = new Intent(Intent.ACTION_SENDTO, uri);
04 intent.putExtra("sms_body", "Hello");
05 startActivity(intent);
06 // 发送彩信(相当于发送带附件的短信)
07 Intent intent = new Intent(Intent.ACTION_SEND);
08 intent.putExtra("sms_body", "Hello");
09 Uri uri = Uri.parse("content://media/external/images/media/23");
10 intent.putExtra(Intent.EXTRA_STREAM, uri);
11 intent.setType("image/png");
12 startActivity(intent);

[代码] 通过浏览器打开网页

1 // 打开Google主页
2 Uri uri = Uri.parse("http://www.google.com");
3 Intent intent  = new Intent(Intent.ACTION_VIEW, uri);
4 startActivity(intent);

[代码] 发送电子邮件

01 // 给someone@domain.com发邮件
02 Uri uri = Uri.parse("mailto:someone@domain.com");
03 Intent intent = new Intent(Intent.ACTION_SENDTO, uri);
04 startActivity(intent);
05 // 给someone@domain.com发邮件发送内容为“Hello”的邮件
06 Intent intent = new Intent(Intent.ACTION_SEND);
07 intent.putExtra(Intent.EXTRA_EMAIL, "someone@domain.com");
08 intent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
09 intent.putExtra(Intent.EXTRA_TEXT, "Hello");
10 intent.setType("text/plain");
11 startActivity(intent);
12 // 给多人发邮件
13 Intent intent=new Intent(Intent.ACTION_SEND);
14 String[] tos = {"1@abc.com", "2@abc.com"}; // 收件人
15 String[] ccs = {"3@abc.com", "4@abc.com"}; // 抄送
16 String[] bccs = {"5@abc.com", "6@abc.com"}; // 密送
17 intent.putExtra(Intent.EXTRA_EMAIL, tos);
18 intent.putExtra(Intent.EXTRA_CC, ccs);
19 intent.putExtra(Intent.EXTRA_BCC, bccs);
20 intent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
21 intent.putExtra(Intent.EXTRA_TEXT, "Hello");
22 intent.setType("message/rfc822");
23 startActivity(intent);

[代码] 显示地图与路径规划

1 // 打开Google地图中国北京位置(北纬39.9,东经116.3)
2 Uri uri = Uri.parse("geo:39.9,116.3");
3 Intent intent = new Intent(Intent.ACTION_VIEW, uri);
4 startActivity(intent);
5 // 路径规划:从北京某地(北纬39.9,东经116.3)到上海某地(北纬31.2,东经121.4)
6 Uri uri = Uri.parse("http://maps.google.com/maps?f=d&saddr=39.9 116.3&daddr=31.2 121.4");
7 Intent intent = new Intent(Intent.ACTION_VIEW, uri);
8 startActivity(intent);

[代码] 播放多媒体

1 Intent intent = new Intent(Intent.ACTION_VIEW);
2 Uri uri = Uri.parse("file:///sdcard/foo.mp3");
3 intent.setDataAndType(uri, "audio/mp3");
4 startActivity(intent);
5   
6 Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "1");
7 Intent intent = new Intent(Intent.ACTION_VIEW, uri);
8 startActivity(intent);

[代码] 拍照

1 // 打开拍照程序
2 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
3 startActivityForResult(intent, 0);
4 // 取出照片数据
5 Bundle extras = intent.getExtras(); 
6 Bitmap bitmap = (Bitmap) extras.get("data");

[代码] 获取并剪切图片

01 // 获取并剪切图片
02 Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
03 intent.setType("image/*");
04 intent.putExtra("crop", "true"); // 开启剪切
05 intent.putExtra("aspectX", 1); // 剪切的宽高比为1:2
06 intent.putExtra("aspectY", 2);
07 intent.putExtra("outputX", 20); // 保存图片的宽和高
08 intent.putExtra("outputY", 40); 
09 intent.putExtra("output", Uri.fromFile(new File("/mnt/sdcard/temp"))); // 保存路径
10 intent.putExtra("outputFormat", "JPEG");// 返回格式
11 startActivityForResult(intent, 0);
12 // 剪切特定图片
13 Intent intent = new Intent("com.android.camera.action.CROP"); 
14 intent.setClassName("com.android.camera", "com.android.camera.CropImage"); 
15 intent.setData(Uri.fromFile(new File("/mnt/sdcard/temp"))); 
16 intent.putExtra("outputX", 1); // 剪切的宽高比为1:2
17 intent.putExtra("outputY", 2);
18 intent.putExtra("aspectX", 20); // 保存图片的宽和高
19 intent.putExtra("aspectY", 40);
20 intent.putExtra("scale", true);
21 intent.putExtra("noFaceDetection", true); 
22 intent.putExtra("output", Uri.parse("file:///mnt/sdcard/temp")); 
23 startActivityForResult(intent, 0);

[代码] 打开Google Market

1 // 打开Google Market直接进入该程序的详细页面
2 Uri uri = Uri.parse("market://details?id=" + "com.demo.app");
3 Intent intent = new Intent(Intent.ACTION_VIEW, uri);
4 startActivity(intent);

[代码] 安装和卸载程序

1 Uri uri = Uri.fromParts("package", "com.demo.app", null);  
2 Intent intent = new Intent(Intent.ACTION_DELETE, uri);  
3 startActivity(intent);

[代码] 进入设置界面

1 // 进入无线网络设置界面(其它可以举一反三)  
2 Intent intent = new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS);  
3 startActivityForResult(intent, 0);

[代码] 返回桌面

 

Intent home = new Intent(Intent.ACTION_MAIN);
  home.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
  home.addCategory(Intent.CATEGORY_HOME);
  startActivity(home);

 

分享到:
评论

相关推荐

    Android Intent的几种用法全面总结

    以上是Intent的基本用法,但Intent还有更多高级用法,如隐式Intent(用于启动未明确指定组件的Activity或Service)、显式Intent(指定确切的组件)、捆绑数据、使用Intent Filter等。理解并熟练使用Intent是构建...

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

    下面我们将详细探讨Intent的使用方法和实例。 1. **调用拨号程序** 要调用拨号程序拨打特定电话号码,可以创建一个ACTION_DIAL Intent,并指定电话号码的URI。例如,拨打10086客服热线的代码如下: ```java Uri ...

    android各组件详解- Intent.

    标题与描述均指向了“Android各组件详解——Intent”,这一主题深入探讨了Android开发中至关重要的Intent组件。本文将从多个角度解析Intent的功能、应用场景及其内部结构,为开发者提供全面的理解。 ### Intent概述...

    Android Intent切换.rar

    总之,这个“Android Intent切换.rar”包可能提供了全面的Intent使用指南,包括如何创建Intent,设置不同属性,以及在不同组件间进行数据传递。学习和掌握Intent的使用是Android开发的基础,对于构建功能丰富的应用...

    Android Studio 实验二:Intent的使用

    使用putExtra()方法可以将数据附加到Intent中,然后在接收端使用getExtra()系列方法获取这些数据: ```java // 发送端 Intent intent = new Intent(this, TargetActivity.class); intent.putExtra("key", ...

    AndroidIntent1 (2).zip

    本压缩包"AndroidIntent1 (2).zip"包含了实现代码跳转的各种示例,这将帮助我们深入理解Intent的工作原理和用法。 1. **Intent基本类型** - **显式Intent**: 显式Intent通过指定目标组件的完整类名来明确指定要...

    Android知识系统全面总结+j精通android

    "Android知识系统全面总结+j精通android"这一主题涵盖了Android开发中的核心概念、技术栈以及实战经验,旨在帮助开发者从基础到高级,全面提升自己的技能。以下是根据标题和描述提炼出的Android开发关键知识点: 1....

    Android_intent_大全

    本篇文章将全面解析Android Intent的使用及相关知识点。 首先,Intent主要有两种类型:显式Intent和隐式Intent。显式Intent通过指定组件的完整类名来直接调用目标组件,而隐式Intent则不指定具体组件,而是通过...

    intent总结代码

    Intent是Android系统中的一种核心...以上是对Intent的全面总结,包括其基本概念、构造、数据传递、启动方式以及在Android系统中的重要应用。理解并熟练使用Intent是开发Android应用的基础,能够有效实现组件间的交互。

    Intent总结

    以上就是关于Intent的全面总结,它是Android框架中的关键部分,熟练掌握Intent的使用对于构建功能丰富的Android应用至关重要。通过深入理解Intent的各个组件和功能,开发者能够更好地控制应用的流程和交互。

    Android应用Intent通信风险分析及检测.pdf

    以上内容对Android应用中Intent通信可能带来的安全风险进行了详细分析,并提出了基于静态分析和动态测试的检测方法。通过这种方式,开发者可以更全面地理解和防范Intent通信中的安全隐患,提高应用的安全性。

    Android应用源码之Intent_TabHostSample.zip

    【Android应用源码之Intent_TabHostSample.zip】是一个关于Android应用程序开发的学习资源,主要展示了如何在Android应用中使用Intent和TabHost组件。源码参考提供了实际操作的机会,帮助开发者深入理解这两个关键...

    Android 系统知识总结+培训课程+笔记

    掌握Intent的使用方法,以及如何通过Intent进行数据传递,可以有效提升应用的灵活性。 六、权限管理 Android系统的权限管理从6.0版本开始有了重大改变,引入了运行时权限的概念。开发者需要在适当的时候请求用户...

    android TabHost全用法

    本教程将深入讲解如何使用TabHost实现全面的功能,帮助开发者掌握这一核心组件。 首先,TabHost是一个容器,它允许你将多个TabWidget(选项卡)和一个FrameLayout(内容区域)组合在一起。TabWidget显示选项卡,而...

    Android文件系统全面讲解

    在这个“Android文件系统全面讲解”的主题中,我们将深入探讨Android文件系统的结构、操作方式以及如何在应用程序中有效地使用文件。 1. **文件系统的层次结构** Android文件系统采用Linux标准的目录结构,根目录...

    基于android开发实验报告总结.docx

    【Android开发实验报告总结】 本实验报告主要涵盖了基于Android平台的开发学习,旨在通过实际操作提升对Android开发环境的理解和应用能力。实验分为三个部分,分别涉及到Android开发环境的搭建、基本应用程序的创建...

Global site tag (gtag.js) - Google Analytics