欢迎来到天天文库
浏览记录
ID:34726913
大小:101.68 KB
页数:7页
时间:2019-03-10
《v客学院——安卓意图详解》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、安卓意图详解1.Intent作用Intent是一个将要执行的动作的抽象的描述,由Intent来协助完成android各个组件之间的通讯。比如调用Activity实例化对象的startActivity()来启动一个activity,或者由broadcaseIntent()来传递给所有感兴趣的BroadcaseReceiver,或者由startService()/bindservice()来启动一个后台的service。可见,intent主要用来启动activity或者service(并携带需要传递的参数信息),intent理解成activi
2、ty之间的粘合剂。总之,Intent具有激活组件和携带数据的功能!2.Intent形式(1).显示意图(ExplicitIntents)明确指定组件名的Intent为显式意图,指定了Intent应该传递给那个组件。通过下面代码方式,可以创建显示意图实例化对象,并设定需要传递的参数信息。由于显示意图指定了具体的组件对象,不需要设置intent的其它意图过滤对象。[java] // 1.创建Intent实例化对象几种方式 Intentintent=newIntent(); intent.setClass(ContextpackageCon
3、text,Class>cls); //内部调用setComponent(ComponentName) intent.setClassName(ContextpackageContext,StringclassName);//内部调用setComponent(ComponentName) intent.setClassName(StringpackageName,StringclassName); //内部调用setComponent(ComponentName),可以激活外部应用 intent.setComponent(
4、newComponentName(this,Class>cls)); intent.setComponent(newComponentName(this,"packageName")); (2).隐式意图(ImplicitIntents)没有明确指定组件名的Intent为隐式意图,系统会根据隐式意图中设置的动作(action)、类别(category)、数据URI等来匹配最合适的组件。1).actionThegeneralactiontobeperformed,suchasACTION_VIEW,ACTION_EDIT,ACTION_
5、MAIN,包括Android系统指定的和自定义[java] intent.setAction("com.baidu.action.TEST"); [html]viewplaincopy 2).dataexpressedasaUri,Thedatatooperateon,suchasapersonrecordinthecontactsdatabase.系统自带的Action简单举例ActionData(Uri)ContentACTION_VIEWcon
6、tent://contacts/people/1Displayinformationaboutthepersonwhoseidentifieris"1".ACTION_VIEWtel:123Displaythephonedialerwiththegivennumberfilledin.ACTION_DIALtel:123Displaythephonedialerwiththegivennumberfilledin. 自定义data匹配[java] intent.setData(Uri.parse("baidu://www.baidu.co
7、m/news")); [html] 3).categoryGivesadditionalinformationabouttheactiontoexecute.注意:项目清单的xml文件意图过滤器中必须指定android.intent.category.DEFAULT类别,Activitieswillveryoftenneed
8、tosupporttheCATEGORY_DEFAULTsothattheycanbefoundbyContext.startActivity,orContextcan'ttheacitivi
此文档下载收益归作者所有