Android Intent 用法全面总结(转载)
1. [代码]调用拨号程序
1
2
3
4
|
// 给移动客服10086拨打电话 Uri uri = Uri.parse( "tel:10086" ); Intent intent = new Intent(Intent.ACTION_DIAL, uri); startActivity(intent); |
2. [代码]发送短信或彩信
1
2
3
4
5
6
7
8
9
10
11
12
|
// 给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. [代码]通过浏览器打开网页
1
2
3
4
|
// 打开Google主页 Uri uri = Uri.parse( "http://www.google.com" ); Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent); |
4. [代码]发送电子邮件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
// 给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. [代码]显示地图与路径规划
1
2
3
4
5
6
7
8
|
// 打开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. [代码]播放多媒体
1
2
3
4
5
6
7
8
|
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. [代码]拍照
1
2
3
4
5
6
|
// 打开拍照程序 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent, 0 ); // 取出照片数据 Bundle extras = intent.getExtras(); Bitmap bitmap = (Bitmap) extras.get( "data" ); |
8. [代码]获取并剪切图片
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
// 获取并剪切图片 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
1
2
3
4
|
// 打开Google Market直接进入该程序的详细页面 Uri uri = Uri.parse( "market://details?id=" + "com.demo.app" ); Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent); |
10. [代码]安装和卸载程序
1
2
3
|
Uri uri = Uri.fromParts( "package" , "com.demo.app" , null ); Intent intent = new Intent(Intent.ACTION_DELETE, uri); startActivity(intent); |
11. [代码]进入设置界面
1
2
3
|
// 进入无线网络设置界面(其它可以举一反三) Intent intent = new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS); startActivityForResult(intent, 0 ); |
Android Intent 用法全面总结(转载)的更多相关文章
- Android Intent 用法全面总结
[代码全屏查看]-Android Intent 用法全面总结 // [1].[代码] 调用拨号程序 跳至 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] / ...
- Android Intent用法总结
Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作.动作涉及数据.附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 ...
- android Bitmap用法总结(转载)
Bitmap用法总结1.Drawable → Bitmappublic static Bitmap drawableToBitmap(Drawable drawable) {Bitmap bitmap ...
- Android Intent的几种用法全面总结
Android Intent的几种用法全面总结 Intent, 用法 Intent应该算是Android中特有的东西.你可以在Intent中指定程序要执行的动作(比如:view,edit,dial), ...
- Android Intent机制与常见的用法
Activity Android于.Activity所有的程序都是必不可少,程都执行在Activity之中.Activity具有自己的生命周期(见http://www.cnblogs.com/feis ...
- android intent收集转载汇总
Intent intent = new Intent(Settings.ACTION_WIRELESS_SETTINGS); ComponentName comp = ...
- Android组件系列----Intent详解(转载笔记)
[正文] Intent组件虽然不是四大组件,但却是连接四大组件的桥梁,学习好这个知识,也非常的重要. 一.什么是Intent 1.Intent的概念: Android中提供了Intent机制来协助应用 ...
- monkey测试===Android测试工具Monkey用法简介(转载)
Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序进行压力测试.Monkey ...
- android intent和intent action大全
1.Intent的用法:(1)用Action跳转1,使用Action跳转,如果有一个程序的AndroidManifest.xml中的某一个 Activity的IntentFilter段中 定义了包含了 ...
随机推荐
- windows Visual Studio 2017 编译 HEVC cmake-3.8.1-win64-x64.msi 下载
ttps://github.com/OpenHEVC/openHEVC 下载一 直接下载源码(可选)或下载源码包,我这里下载的是源码 打开 Visual Studio () 去 github 找到源码 ...
- Node.js umei图片批量下载Node.js爬虫1.00
这个爬虫在abaike爬虫的基础上改改图片路径和下一页路径就出来了,代码如下: //====================================================== // ...
- HDU2189 悼念512汶川大地震遇难同胞——来生一起走 【母函数】
悼念512汶川大地震遇难同胞--来生一起走 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
- 并发编程系列小结(线程安全,synchronized,脏读,线程间的通信wait/notify,线程的三种实现方式Demo,可替代wait/notify的方法)
线程安全: 当多个线程访问某一个类(对象或方法)时,这个类始终都能表现出正确的行为,那么这个类(对象或方法就是线程安全的) synchronized: 可以在任意对象或方法上加锁,而加锁的这段代码称为 ...
- Solidworks如何设置零件材料,如何评估零件质量
右击材质,然后编辑材料,在弹出菜单中在Solidworks materials中选择零件材料(一般钢或者铁,注意质量密度是否跟你需要的一致),完成之后点击应用和关闭 在评估-质量属性中可以看到当前 ...
- PHP上传文件代码练习2 (重复文章)
表单: <html> <head> <meta http-equiv="Content-Type" content="text/html; ...
- SOA服务总线设计
背景 基于总线的设计,借鉴了计算机内部硬件组成的设计思想(通过总线传输数据).在分布式系统中,不同子系统之间需要实现相互通信和远程调用,比较直接的方式就是“点对点”的通信方式,但是这样会暴露出一些很明 ...
- Flutter网络请求与JSON解析
本文介绍如何在Flutter中创建HTTP网络请求和对请求的json string进行类型解析. 网络请求 官方使用的是用dart io中的HttpClient发起的请求,但HttpClient本身功 ...
- HDU 5296 Annoying problem
Annoying problem Time Limit: 16000/8000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others ...
- vs2005下面编译自己的luars232.dll
vc6在win7下用不了,大家建议使用vs2005...所以就装了,但是还是提示有不兼容,不过是可以用的.先凑合用,装了个2012,庞然大物!而且折腾了半天不知所云.先这样吧. 简单记录操作过程,参考 ...