欢迎来到天天文库
浏览记录
ID:20893947
大小:1.65 MB
页数:9页
时间:2018-10-17
《android-20 intent显示意图和隐式意图》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第20讲Intent的显示意图和隐式意图一、Intent概述1、Intent作用Intent代表了Android应用启动的“意图”,会根据Intent来启动指定组件(包括Activity、Service、BroadcastReceiver),在启动的时候可以携带着某些需要传递的数据。至于到底启动哪个组件,由Intent的各个属性来设定。2、使用Intent启动不同组件的方法本次课重点讲Activity的启动,另外两个组件在后面章节会具体讲到Intent的启动方式。3、Intent的显示意图和隐式意图---显式意
2、图:直接显式的设定要启动的组件名字(举例见下面Component属性)----限定于在同一个工程下的相互调用---隐式意图:程序启动具有某些特征的组件(这些特征在待启动的组件中有所设定),符合这些特征的组件会被调用---不同工程下4、Intent的各个属性详细介绍(1)Component属性——显式的指定待启动组件的名字Intentintent=newIntent();ComponentNamecomponent=newComponentName(ListFileActivity.this,MainActivi
3、ty.class);intent.setComponent(component);startActivity(this);被//Intentintent=newIntent(ListFileActivity.this,MainActivity.class);写法取代。(2)Action属性、Category属性(隐式意图调用)(回顾电话拨号器,就是一种隐式的意图的调用)---通过指定IntentAction属性、Category属性来调用自定义的组件调用之前,需要设置被调用组件(比如Activity)的inte
4、nt-filter属性,指定组件的Action属性和Category属性步骤1、在清单文件中对需要被启动的Activity设置意图过滤器intent-filter属性5、droid:name="android.intent.category.DEFAULT"/>步骤2、启动时,设置Action,如果不主动设定categroy,系统会默认设置category的DEFAULT属性Intentintent=newIntent();intent.setAction("HelloWorld");this.startActivity(intent);步骤3、每个Activity可以注册多个action,也可以注册多个category只要
5、droid:name="android.intent.category.DEFAULT"/>
6、在调用的时候,intent匹配到了一个category和action,就会激活意图,调用对应的Activity7、ion>如果不是在同一个应用,我们就采用隐式意图来激活组件(不知道Activity的包名,和类名)---使用隐式意图调用系统的ActvityAndroid提供了大量的标准的Action和Catetory常量,比如,通过自己的程序来调用发送短信,拨打电话,返回桌面等程序时候,都
7、ion>
8、需要用到这个。例、返回系统的Home桌面Intentintent=newIntent();//返回桌面intent.setAction(Intent.ACTION_MAIN);intent.addCategory(Intent.CATEGORY_HOME);this.startActivity(intent);(3)Data属性Data属性向Action属性提供操作的数据,接受一个Ur
此文档下载收益归作者所有