时间:2016年3月4日09:54:02

IntentFilter过滤信息:action、category、data
action:
    1.Intent中的action必须能够和过滤条件中的action匹配,过滤条件中可以有多个action。
    2.Intent中如果设置多个action则过滤条件中必须至少有同样数量的action。
    3.如果Intent设置action但是并没有相应的过滤条件与之匹配则会报ActivityNotFoundException异常。
    4.Action区分大小写。
    5.intent必须要书写设置action。(和category不同之处)。
category:
    1.intent中可以不书写category,因为在使用startActivity或者startActivityForResult时会默认给category添加“android.intent.category.DEFAULT”这个category。
    2.intent中如果出现了category,不管有几个对于没一个category来说过滤条件中都必须有已经定义的相同的category。
data:
    1.data有两部分组成,mimeType和URI。mimeType指媒体类型,比如image/jpeg,video/*等,URI结构如下:
            <scheme>://<host>:<port>/[<path>]|[<pathPrefix>]|[<pathPattern>]
            Scheme:URI的模式,比如http、file、content等,如果URI没有指定scheme,那么URI无效。
            Host:URI的主机名,比如www.baidu.com,如果host未指定,那么URI无效。
                Port:URI的端口号,比如80,仅当Scheme和Host指定时才有效。
            Path:表示完整的路径信息。
                PathPattern:表示完整的路径信息,但是可以使用通配符。
            PathPrefix:路径的前缀信息。
       
    2.如果仅指定了mimeType但是未指定URI,系统默认添加,默认值为content 或 file。
    3.如果要指定完整地data,即同时包含mimeType和URI,必须使用setDataAndType()方法,例如:                intent.setDataAndType(Uri.parse("file://abc"),"image/*");
    4.如果先调用setData再调用setType这两个方法会清空彼此的相关值。
可以通过PackageManager的resolveActivity(Intent intent , Int flag)对是否有匹配的Activity进行判断,如果为null即无匹配。
也可以说使用PackageManager的queryIntentActivities(Intent intent, int flag)进行匹配,返回值为List<ResolveInfo>。
【int flag 需要使用PackageManager.MATCH_DEFAULT_ONLY】
    
来自为知笔记(Wiz)

转载于:https://www.cnblogs.com/yuzhongzheng/p/5241338.html

Activity隐式启动IntentFilter相关推荐

  1. Andriod 显式启动、隐式启动练习简析

    activity_main.xml代码 <?xml version="1.0" encoding="utf-8"?> <LinearLayou ...

  2. 隐式启动Activity以及Intent.resolveActivity的使用

    打开Activity的方式 打开Activity可以分为显式和隐式两种,显式调用需要明确地指定被启动对象的组件信息,比如包名和类名. 隐式调用的规则 1.隐式调用的核心:Intent可以匹配目标组件的 ...

  3. Android隐式启动匹配:action,category,data

    简介 Android开发中,Activity,Service 和 BroadcastReceiver 启动有两种方式,显示启动和隐式启动. 为方便下面描述,我以Activity启动为例. 显示启动便是 ...

  4. Android App 隐藏图标(Android 10除外)并隐式启动

    正好有个小需求,要把Android的App图标隐藏掉(Android 10除外,下面简单说明一下),并提供隐式启动. 实现这个功能非常简单,直接上代码. AndroidManifest.xml文件: ...

  5. android intent隐式启动一个隐藏图标的APP

    intent隐式启动被隐藏图标的activity的方法 今天开发安卓的时候遇到了一个问题,被隐藏掉图标的apk程序,用另一个apk隐式启动的时候,报错. 网上百度了一圈,都说加上category.DE ...

  6. Android Intent隐式启动通过scheme打开应用

    1. 什么是隐式Intent? Intent是Android中比较重要的组件,常用来启动一个新的Activity或者Service.广播某个事件,以及在Android组件之间传递数据.通过Intent ...

  7. Android:新建一个Activity(隐式/显式),并携带数据

    新建一个Activity(隐式/显式),并携带数据 目录 新建一个Activity(隐式/显式),并携带数据 一.项目结构 二.隐式Activity 三.显式Activity 四.效果图(三个界面) ...

  8. Service的两种启动方式,显示启动和隐式启动

    1.显式启动 Service端: 需要声明android:exported="true",这样别的APP才能访问. <service android:name=" ...

  9. 关于android隐式启动activity的分析和说明,Android学习之Intent中显示意图和隐式意图的用法实例分析...

    本文实例讲述了Android学习之Intent中显示意图和隐式意图的用法.分享给大家供大家参考,具体如下: Intent(意图)主要是解决Android应用的各项组件之间的通讯. Intent负责对应 ...

最新文章

  1. 7-2 求最大值及其下标
  2. 文件下载至storage_如何防止Storage Sense在Windows 10上删除下载的文件
  3. Codeforces Round #703 (Div. 2) D . Max Median 二分 +思维
  4. java 省市区三级联动_AJAX省市区三级联动下拉菜单(java版)
  5. Java 中创建对象方式
  6. python数据结构 树_python 数据结构四 之 二叉树和树
  7. linux 目前运行的服务,Linux系统服务
  8. qtcpserver无法启动监听_EOS基础全家桶(四)启动节点
  9. 2019数据安装勾选_建筑CAD首选软件~【T20 天正建筑 V5.0 安装教程】
  10. [转]24个英文电子书免费下载网站
  11. 何谓服务器(Server) ?
  12. 傅里叶分析的方方面面:复正弦、负频率
  13. 7-20 打印九九口诀表(15 分)
  14. 最简单实用的网易云爬虫!cloudmusic库带你起飞,歌曲、用户、评论信手捏来
  15. 分享111个HTML医疗保健模板,总有一款适合您
  16. b丅151组成的充电器电路_手机万能充电器电路原理与维修
  17. 淡泊名利、心胸开阔,卸甲不归田,百岁老人范绪箕
  18. FFmpeg合并音频文件和视频文件
  19. 微信公众平台开发教程第2篇-----微信开发者接入
  20. 大型企业中业务中台建设思考

热门文章

  1. *【SGU - 114】Telecasting station (带权中位数 或 三分)
  2. 【POJ - 3048】Max Factor (数论,打表,水题)
  3. 动手学PaddlePaddle(2):房价预测
  4. EasyOcr 安装(linux、docker)、使用(gin、python)
  5. 建房子 最安全图纸_妄想山海初期该怎么办?砍树狩猎建房子,还能拆别人的房子...
  6. 计算机应用基础试卷结果分析,计算机应用基础 试题
  7. 现代计算机网络的6个方面的应用,现代计算机网络技术应用及发展(共4384字).doc...
  8. mysql linux环境安装_MySQL Linux环境的安装配置
  9. Linux学习:第五章-Linux用户和用户组管理
  10. 学习笔记4-C语言-开关、循环、跳转