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

Android Intent的几种用法详细解析

程序员文章站 2022-06-29 09:27:41
intent应该算是android中特有的东西。你可以在intent中指定程序要执行的动作(比如:view,edit,dial),以及程序执行到该动作时所需要的资料。都指定...

intent应该算是android中特有的东西。你可以在intent中指定程序要执行的动作(比如:view,edit,dial),以及程序执行到该动作时所需要的资料。都指定好后,只要调用startactivity(),android系统会自动寻找最符合你指定要求的应用程序,并执行该程序。

下面列出几种intent的用法
显示网页:

复制代码 代码如下:

uri uri = uri.parse("http://www.google.com");
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("http://maps.google.com/maps?f=d&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); 
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); 

发送短信
复制代码 代码如下:

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);

发送email
复制代码 代码如下:

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")); 
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"));

播放多媒体
复制代码 代码如下:
 
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); 

uninstall 程序
复制代码 代码如下:

uri uri = uri.fromparts("package", strpackagename, null);  
intent it = new intent(intent.action_delete, uri);  
startactivity(it);