• 欢迎加“百元导航”为主页,windows8风格,0.3s极速加载
  • 王柏元的博客专用搜索引擎:极客人,就用“极客搜”!
  •    2年前 (2015-04-27)  软件开发 |   抢沙发  322 
    文章评分 1 次,平均分 5.0

    一、Intent是什么,作用是什么?

    Android的应用程序包括三大组件:Activity、Service、BroadcastReceiver,为了方便不同组件之间的交流通信,应用程序就采用了一种统一的方式启动组件及传递数据,即使用Intent。 Intent封装了Android应用程序需要启动某个组件的"意图",Intent类的对象是组件间的通信载体,一个Intent对象就是一组信息,其包含接收Intent组件所关心的信息(如action 和 Data)和Android 系统关心的信息(如Category等)。也就是说,发送"意图"的组件通过Intent对象所包含的内容,来启动指定的(即Component属性)或通过筛选(即Action&Category属性)的某(些)组件,然后实施相应的动作(即Action属性)并传递相应的数据(即Data属性)以便完成相应的动作。

    二、Intent的Component属性

    Component需要指定包名和类名唯一确定一个组件类,代码如下:

     

    展示结果的代码:

     

    运行截图:

    安卓开发之Intent(Filter)用法详解安卓开发之Intent(Filter)用法详解

    点击第一个按钮显示运行结果:

     

    三、Intent的Action、category属性

    使用Action和Category需要在程序清单文件androidMinifest.xml文件中进行配置,代码如下:

     

    使用Action、category启动这个Activity的代码为:

     

    展示结果的代码:

     

    截图:

    安卓开发之Intent(Filter)用法详解

    四、Intent的Data、Type属性

    Data属性通常用于向Action属性提供操作的数据,Data属性接受一个Uri对象,一个Uri对象通过如下形式的字符串来表示:

    content://cn.wangbaiyuan.contacts/contacts/1

    tel:1880000000

    冒号前面指定了数据的类型,后面的是数据部分。

    Type属性则用于明确指定Data属性的数据类型或MIME类型,但是通常来说,当Intent不指定Data属性时Type属性才会起作用,否则Android系统将会根据Data属性值来分析数据的类型,所以无需指定Type属性。

    一旦为Intent同时指定了Action和Data属性,那么Android将可根据指定的数据类型来启动特定的应用程序,并对指定的数据执行相应的操作。

    在我的代码文件中我分别测试了5个用Activity和Data组合的情况,为五个按钮分别设置一下监听器:

     

    运行截图:

    安卓开发之Intent(Filter)用法详解安卓开发之Intent(Filter)用法详解

     

    五、Intent创建tab页面:

    代码:

     

    运行结果:

    安卓开发之Intent(Filter)用法详解

     

    代码下载

    相关下载

     

    除特别注明外,本站所有文章均为王柏元的博客原创,为了尊重作者的劳动成果,转载请注明出处http://wangbaiyuan.cn/intent-of-the-android-development-filter-usage-details.html,如果你觉得这篇文章对你有用,可以点击文章下面的“赞助作者”打赏作者!

    关于
    记录生活,镌刻心路;泼洒文墨,分享技术!王柏元的博客致力于IT经验交流,并原创翻译引进外文文章,打开IT国际化视野

    发表评论

    格式

    暂无评论

    登录

    忘记密码 ?

    您也可以使用第三方帐号快捷登录

    切换登录

    注册