本文介绍android中intent的各种常见作用。
1 intent.action_main
string: android.intent.action.main
标识activity为一个程序的开始。比较常用。
input:nothing
output:nothing
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中添加已获取拨打电话的权限。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);
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);
完毕。^_^
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对萬仟网的支持。如果你想了解更多相关内容请查看下面相关链接