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

Android开发中Intent.Action各种常见的作用汇总

程序员文章站 2022-05-16 12:15:14
本文介绍android中intent的各种常见作用。 1 intent.action_main string: android.intent.action.main...

本文介绍android中intent的各种常见作用。

1 intent.action_main

string: android.intent.action.main

标识activity为一个程序的开始。比较常用。

input:nothing

output:nothing

<activity android:name=".main" android:label="@string/app_name">  
<intent-filter>
     <action android:name="android.intent.action.main" />
     <category android:name="android.intent.category.launcher" />
   </intent-filter>
</activity> 

2 intent.action_call

stirng: android.intent.action.call

呼叫指定的电话号码。

input:电话号码。数据格式为:tel:+phone number 

output:nothing 

intent intent=new intent(); 
intent.setaction(intent.action_call);  
intent.setdata(uri.parse("tel:1320010001");
startactivity(intent);

使用intent.action_call时,必须在androidmanifest.xml中添加<uses-permission android:name="android.permission.call_phone" />已获取拨打电话的权限。intent.action_call与intent.action_dialog不同,intent.action_dialog只是调用拨号键盘,将电话号码复制上去,而intent.action_call则是直接拨打电话

3 intent.action.dial

string: action.intent.action.dial

调用拨号面板

intent intent=new intent();
intent.setaction(intent.action_dial);  //android.intent.action.dial
intent.setdata(uri.parse("tel:1320010001");
startactivity(intent); 

input:电话号码。数据格式为:tel:+phone number 

output:nothing

说明:打开android的拨号ui。如果没有设置数据,则打开一个空的ui,如果设置数据,action.dial则通过调用getdata()获取电话号码。

但设置电话号码的数据格式为 tel:+phone number. 

4 intent.action.all_apps

string: andriod.intent.action.all_apps

列出所有的应用。

input:nothing.

output:nothing.

5 intent.action_answer

stirng:android.intent.action.answer

处理呼入的电话。

input:nothing.

output:nothing.

6 intent.action_attach_data

string: android.action.attch_data

别用于指定一些数据应该附属于一些其他的地方,例如,图片数据应该附属于联系人

input: data

output:nothing

7 intent.action_bug_report

string: android.intent.action.bug_report

显示dug报告。

input:nothing

output:nothing

8 intent.action_call_button

string: android.action.intent.call_button.

相当于用户按下“拨号”键。经测试显示的是“通话记录”

input:nothing

output:nothing

intent intent = new intent(intent.action_call_button);
startactivity(intent);

9 intent.action_chooser

string: android.intent.action.chooser

显示一个activity选择器,允许用户在进程之前选择他们想要的,与之对应的是intent.action_get_content.

10. intent.action_get_content

string: android.intent.action.get_content

允许用户选择特殊种类的数据,并返回(特殊种类的数据:照一张相片或录一段音) 

input: type

output:uri

int requestcode = 1001;
intent intent = new intent(intent.action_get_content); // "android.intent.action.get_content"
intent.settype("image/*"); // 查看类型,如果是其他类型,比如视频则替换成 video/*,或 */*
intent wrapperintent = intent.createchooser(intent, null);
startactivityforresult(wrapperintent, requestcode); 

11 intent.action_view

string android.intent.action.view

用于显示用户的数据。

比较通用,会根据用户的数据类型打开相应的activity。

比如 tel:13400010001打开拨号程序,则会打开浏览器等。

uri uri = uri.parse("http://www.google.com"); //浏览器 
uri uri =uri.parse("tel:1232333"); //拨号程序 
uri uri=uri.parse("geo:39.899533,116.036476"); //打开地图定位 
intent it = new intent(intent.action_view,uri); 
startactivity(it); 
//播放视频 
intent intent = new intent(intent.action_view); 
uri uri = uri.parse("file:///sdcard/media.mp4"); 
intent.setdataandtype(uri, "video/*"); 
startactivity(intent);
//调用发送短信的程序 
intent it = new intent(intent.action_view);
it.putextra("sms_body", "信息内容..."); 
it.settype("vnd.android-dir/mms-sms"); 
startactivity(it);

12 intent.action_sendto 

string: android.intent.action.sendto 

说明:发送短信息

//发送短信息 
uri uri = uri.parse("smsto:13200100001"); 
intent it = new intent(intent.action_sendto, uri); 
it.putextra("sms_body", "信息内容..."); 
startactivity(it); 
//发送彩信,设备会提示选择合适的程序发送 
uri uri = uri.parse("content://media/external/images/media/23"); 
//设备中的资源(图像或其他资源) 
intent intent = new intent(intent.action_send); 
intent.putextra("sms_body", "内容"); 
intent.putextra(intent.extra_stream, uri); 
intent.settype("image/png"); 
startactivity(it);
//email 
intent intent=new intent(intent.action_send); 
string[] tos={"android1@163.com"}; 
string[] ccs={"you@yahoo.com"}; 
intent.putextra(intent.extra_email, tos); 
intent.putextra(intent.extra_cc, ccs);
 intent.putextra(intent.extra_text, "the email body text"); 
intent.putextra(intent.extra_subject, "the email subject text"); 
intent.settype("message/rfc822"); 
startactivity(intent.createchooser(intent, "choose email client"));

13 intent.action_get_content

//选择图片 requestcode 返回的标识
intent intent = new intent(intent.action_get_content); //"android.intent.action.get_content"
intent.settype(contenttype); //查看类型 string image_unspecified = "image/*";
intent wrapperintent = intent.createchooser(intent, null);
((activity) context).startactivityforresult(wrapperintent, requestcode); 
//添加音频
intent intent = new intent(intent.action_get_content);
intent.settype(contenttype); //string video_unspecified = "video/*";
intent wrapperintent = intent.createchooser(intent, null);
((activity) context).startactivityforresult(wrapperintent, requestcode); 
//拍摄视频 
int durationlimit = getvideocapturedurationlimit(); //systemproperties.getint("ro.media.enc.lprof.duration", 60);
intent intent = new intent(mediastore.action_video_capture);
intent.putextra(mediastore.extra_video_quality, 0);
intent.putextra(mediastore.extra_size_limit, sizelimit);
intent.putextra(mediastore.extra_duration_limit, durationlimit);
startactivityforresult(intent, request_code_take_video);
//视频
intent intent = new intent(intent.action_get_content);
intent.settype(contenttype); //string video_unspecified = "video/*";
intent wrapperintent = intent.createchooser(intent, null);
((activity) context).startactivityforresult(wrapperintent, requestcode); 
//录音
intent intent = new intent(intent.action_get_content);
intent.settype(contenttype.audio_amr); //string audio_amr = "audio/amr";
intent.setclassname("com.android.soundrecorder",
"com.android.soundrecorder.soundrecorder");
((activity) context).startactivityforresult(intent, requestcode); 
//拍照 request_code_take_picture 为返回的标识
intent intent = new intent(mediastore.action_image_capture); //"android.media.action.image_capture";
intent.putextra(mediastore.extra_output, mms.scrapspace.content_uri); // output,uri.parse("content://mms/scrapspace");
startactivityforresult(intent, request_code_take_picture); 

完毕。^_^

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接