Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 476|回复: 0

开发交流:Intent的常见用法[天幕杯]

[复制链接]

该用户从未签到

发表于 2011-10-24 09:17:13 | 显示全部楼层 |阅读模式
Intent应该算是Android中特有的东西。你可以在Intent中指定程序要执行的动作(比如:view,edit,dial),以及程序执行到 该动作时所需要的资料。都指定好后,只要调用startActivity(),Android系统会自动寻找最符合你指定要求的应用程序,并执行该程序。

下面列出几种Intent的用法
显示网页: Uri uri = Uri.parse( "<a href=" http: //www.Google.com" target="_blank" rel="external">http://www.google.com</a>");   

Intent it  = new  Intent(Intent.ACTION_VIEW,uri);  

startActivity(it);  
复制代码
java代码
Uri uri = Uri.parse("<a href="http://www.google.com" target="_blank" rel="external">http://www.google.com</a>");

Intent it  = new Intent(Intent.ACTION_VIEW,uri);

startActivity(it);
复制代码
显示地图:
Uri uri = Uri.parse( "geo:38.899533,-77.036476" );  

Intent it = new  Intent(Intent.Action_VIEW,uri);  

startActivity(it);   
复制代码路径规划: Uri uri = Uri.parse( "<a href=" http: //maps.google.com/maps?f=d" target="_blank" rel="external">http://maps.google.com/maps?f=d</a>&saddr=startLat%20startLng&daddr=endLat%20endLng&hl=en");   

  

Intent it = new  Intent(Intent.ACTION_VIEW,URI);  

  

startActivity(it);
复制代码Java代码 Uri

uri = Uri.parse("<a href="http://maps.google.com/maps?f=d"

target="_blank"

rel="external">http://maps.google.com/maps?f=d</a>&saddr=startLat%20startLng&daddr=endLat%20endLng&hl=en");

Intent

it = new Intent(Intent.ACTION_VIEW,URI);

startActivity(it);
复制代码拨打电话:
调用拨号程序
Uri uri = Uri.parse( "tel:xxxxxx" );  

  

Intent it = new  Intent(Intent.ACTION_DIAL, uri);   

  

startActivity(it);
复制代码
Java代码
Uri uri = Uri.parse("tel:xxxxxx");

Intent it = new Intent(Intent.ACTION_DIAL, uri);  

startActivity(it);
复制代码Uri uri = Uri.parse( "tel.xxxxxx" );  

  

Intent it =new  Intent(Intent.ACTION_CALL,uri);  

  

要使用这个必须在配置文件中加入<uses-permission id="android.permission.CALL_PHONE"  />
复制代码Java代码
Uri uri = Uri.parse("tel.xxxxxx");

Intent it =new Intent(Intent.ACTION_CALL,uri);

要使用这个必须在配置文件中加入<uses-permission id="android.permission.CALL_PHONE" />
复制代码发送SMS/MMS
调用发送短信的程序
Intent it =  new  Intent(Intent.ACTION_VIEW);     

  

it.putExtra("sms_body" ,  "The SMS text" );     

  

it.setType("vnd.android-dir/mms-sms" );     

  

startActivity(it);
复制代码Java代码


Intent it = new Intent(Intent.ACTION_VIEW);   

it.putExtra("sms_body", "The SMS text");   

it.setType("vnd.android-dir/mms-sms");   

startActivity(it);
复制代码发送短信
Uri uri = Uri.parse( "smsto:0800000123" );     

  

Intent it = new  Intent(Intent.ACTION_SENDTO, uri);     

  

it.putExtra("sms_body" ,  "The SMS text" );     

  

startActivity(it);  
复制代码
Java代码
Uri uri = Uri.parse("smsto:0800000123");   

Intent it = new Intent(Intent.ACTION_SENDTO, uri);   

it.putExtra("sms_body", "The SMS text");   

startActivity(it);
复制代码发送彩信
Uri uri = Uri.parse( "content://media/external/images/media/23" );     

  

Intent it = new  Intent(Intent.ACTION_SEND);     

  

it.putExtra("sms_body" ,  "some text" );     

  

it.putExtra(Intent.EXTRA_STREAM, uri);     

  

it.setType("image/png" );     

  

startActivity(it);   
复制代码
Java代码
Uri uri = Uri.parse("content://media/external/images/media/23");   

Intent it = new Intent(Intent.ACTION_SEND);   

it.putExtra("sms_body", "some text");   

it.putExtra(Intent.EXTRA_STREAM, uri);   

it.setType("image/png");   

startActivity(it);
复制代码
发送Email
Uri uri = Uri.parse( "mailto:xxx@abc.com" );  

  

Intent it = new  Intent(Intent.ACTION_SENDTO, uri);  

  

startActivity(it);  
复制代码
Java代码
Uri uri = Uri.parse("mailto:xxx@abc.com");

Intent it = new Intent(Intent.ACTION_SENDTO, uri);

startActivity(it);
复制代码Intent it =  new  Intent(Intent.ACTION_SEND);     

  

it.putExtra(Intent.EXTRA_EMAIL, "me@abc.com" );     

  

it.putExtra(Intent.EXTRA_TEXT, "The email body text" );     

  

it.setType("text/plain" );     

  

startActivity(Intent.createChooser(it, "Choose Email Client" ));  
复制代码Java代码
Intent it = new Intent(Intent.ACTION_SEND);   

it.putExtra(Intent.EXTRA_EMAIL, "me@abc.com");   

it.putExtra(Intent.EXTRA_TEXT, "The email body text");   

it.setType("text/plain");   

startActivity(Intent.createChooser(it, "Choose Email Client"));
复制代码Intent it= new  Intent(Intent.ACTION_SEND);      

  

String[] tos={"me@abc.com" };      

  

String[] ccs={"you@abc.com" };      

  

it.putExtra(Intent.EXTRA_EMAIL, tos);      

  

it.putExtra(Intent.EXTRA_CC, ccs);      

  

it.putExtra(Intent.EXTRA_TEXT, "The email body text" );      

  

it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text" );      

  

it.setType("message/rfc822" );      

  

startActivity(Intent.createChooser(it, "Choose Email Client" ));
复制代码
Java代码
Intent it=new Intent(Intent.ACTION_SEND);     

String[] tos={"me@abc.com"};     

String[] ccs={"you@abc.com"};     

it.putExtra(Intent.EXTRA_EMAIL, tos);     

it.putExtra(Intent.EXTRA_CC, ccs);     

it.putExtra(Intent.EXTRA_TEXT, "The email body text");     

it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");     

it.setType("message/rfc822");     

startActivity(Intent.createChooser(it, "Choose Email Client"));
复制代码添加附件
Intent it =  new  Intent(Intent.ACTION_SEND);     

  

it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text" );     

  

it.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/mysong.mp3" );     

  

sendIntent.setType("audio/mp3" );     

  

startActivity(Intent.createChooser(it, "Choose Email Client" ));  
复制代码
Java代码
Intent it = new Intent(Intent.ACTION_SEND);   

it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");   

it.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/mysong.mp3");   

sendIntent.setType("audio/mp3");   

startActivity(Intent.createChooser(it, "Choose Email Client"));
复制代码
播放多媒体
Intent it =  new  Intent(Intent.ACTION_VIEW);  

  

Uri uri = Uri.parse("file:///sdcard/song.mp3" );  

  

it.setDataAndType(uri, "audio/mp3" );  

  

startActivity(it);  
复制代码
Java代码
Intent it = new Intent(Intent.ACTION_VIEW);

Uri uri = Uri.parse("file:///sdcard/song.mp3");

it.setDataAndType(uri, "audio/mp3");

startActivity(it);
复制代码Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI,  "1" );     

  

Intent it = new  Intent(Intent.ACTION_VIEW, uri);     

  

startActivity(it);  
复制代码Java代码
Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "1");   

Intent it = new Intent(Intent.ACTION_VIEW, uri);   

startActivity(it);
复制代码
Uninstall 程序
Uri uri = Uri.fromParts( "package" , strPackageName,  null );     

  

Intent it = new  Intent(Intent.ACTION_Delete, uri);     

  

startActivity(it);  
复制代码
Java代码
Uri uri = Uri.fromParts("package", strPackageName, null);   

Intent it = new Intent(Intent.ACTION_Delete, uri);   

startActivity(it);
复制代码uninstall apk
Uri uninstallUri = Uri.fromParts( "package" ,  "xxx" ,  null );  

returnIt = new  Intent(Intent.ACTION_Delete, uninstallUri);  
复制代码Java代码
Uri uninstallUri = Uri.fromParts("package", "xxx", null);

returnIt = new Intent(Intent.ACTION_Delete, uninstallUri);
复制代码
install apk
Uri installUri = Uri.fromParts( "package" ,  "xxx" ,  null );  

returnIt = new  Intent(Intent.ACTION_PACKAGE_ADDED, installUri);  
复制代码
Java代码
Uri installUri = Uri.fromParts("package", "xxx", null);

returnIt = new Intent(Intent.ACTION_PACKAGE_ADDED, installUri);
复制代码play audio
Uri playUri = Uri.parse( "file:///sdcard/download/everything.mp3" );  

returnIt = new  Intent(Intent.ACTION_VIEW, playUri);  
复制代码Java代码
Uri playUri = Uri.parse("file:///sdcard/download/everything.mp3");

returnIt = new Intent(Intent.ACTION_VIEW, playUri);
复制代码发送附件
Intent it =  new  Intent(Intent.ACTION_SEND);   

  

it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text" );   

  

it.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/eoe.mp3" );   

  

sendIntent.setType("audio/mp3" );   

  

startActivity(Intent.createChooser(it, "Choose Email Client" ));  
复制代码Java代码
Intent it = new Intent(Intent.ACTION_SEND);  

it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");  

it.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/eoe.mp3");  

sendIntent.setType("audio/mp3");  

startActivity(Intent.createChooser(it, "Choose Email Client"));
复制代码Market相关:
//搜索应用   

  

Uri uri = Uri.parse("market://search?q=pname:pkg_name" );   

  

Intent it = new  Intent(Intent.ACTION_VIEW, uri);   

  

startActivity(it);   

  

//where pkg_name is the full package path for an application     

  

  

  

//显示指定应用的详细页面(这个好像不支持了,找不到app_id)   

  

Uri uri = Uri.parse("market://details?id=app_id" );   

  

Intent it = new  Intent(Intent.ACTION_VIEW, uri);   

  

startActivity(it);   

  

//where app_id is the application ID, find the ID     

  

//by clicking on your application on Market home     

  

//page, and notice the ID from the address bar   
复制代码
回复

使用道具 举报

该用户从未签到

发表于 2011-10-24 09:17:15 | 显示全部楼层

Re:开发交

                        :)
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-24 09:17:18 | 显示全部楼层

Re:开发交

dddddddddddddd
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-24 09:17:21 | 显示全部楼层

Re:开发交

看了一下,不是太明白,我还是个新手,请多指教!!
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-24 09:17:24 | 显示全部楼层

Re:开发交

总结的好~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2025-1-10 19:17 , Processed in 0.390676 second(s), 33 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表