Android开发中Intent.Action各种常见的作用汇总
本文介绍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);
完毕。^_^
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接