首页焦点IT通讯测评 智机互联网数码电商安全 IPhone客户端   安卓客户端
首页 / 智慧生活 / 正文

隐式调用匹配规则Intentfilter通过匹配过滤消息启动目标

来源:IT手机新世界
作者:
时间:2020-09-14

我们知道,启动Activity分为两种,显示调用和隐式调用。这里主要介绍隐式调用的IntentFilter匹配规则。隐式调用需要Intent能够匹配目标组件的IntentFilter中所设置的过滤信息,如果不匹配将无法启动目标Activity。IntentFilter的过滤信息是action、category、data,接下来详细介绍一下这些规则。


为了匹配过滤列表,需要同时匹配过滤表中的 action、category、data 信息,否则匹配失败。一个过滤列表中的 action、category、data 可以有多个,只有一个Intent同时匹配action类别、category类别、data类别才算完全匹配,只有完全匹配才能成功启动目标Activity。另外一点,一个Activity中可以有多个intent-filter,一个Intent只要能匹配任何一组intent-filter即可成功启动对应的Activity。Android中提供了Intent机制来协助应用间的交互与通讯, Intent不仅可用于应用程序之间,也可用于应用程序内部的activity, service和broadcast receiver之间的交互。
      1、使用startActivity() 或startActivityForResult(),传入一个intent来启动一个activity。setResult(),传入一个intent来从activity中返回结果。
      2、将intent对象传给startService()来启动一个service或者传消息给一个运行的service。将intent对象传给bindService()来绑定一个service。
      3、将intent对象传给sendBroadcast(), sendOrderedBroadcast(),或者      sendStickyBroadcast()等广播方法,则它们被传给 broadcast receiver。
      Intent是一种运行时绑定(runtimebinding)机制,它能在程序运行的过程中连接两个不同的组件。它包含Component,Action,Category,Date,Type,Extra,Flag这7个属性。Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。

0
(查看全部0条评论) 请遵守国家新闻相关法规,文明上网发表评论!
    
验证码:  
IT手机新世界
更新时间:2020-06-11
点评(2)
IT手机新世界
更新时间:2020-05-15
点评(2)
要闻推荐更多
热搜排行更多
  • 咨询: 资讯内容纠错答疑在线联系方式
  • Email:8942046898@qq.com
  • CopyRight@2015-2020 IT手机新世界 All Right Reserved
  • 工商营业注册:110101014752254
  • 增值电信业务经营许可证:京备A2-2009413