Android安全笔记-Intent和PendingIntent基本概念
Posted IT1995
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android安全笔记-Intent和PendingIntent基本概念相关的知识,希望对你有一定的参考价值。
Intent
Intent:应用传递消息的结构体;
·通知浏览器打开一个网页;
·同志通话拨打某个号码;
·启动activity;
·启动service;
·发出broadcast。
Intent包含几个属性:
属性 | 说明 | 描述 |
ComponentName | 启动的组件名称 | explicit/implicit |
Action | 执行的动作,系统定义或者应用定义动作 | |
Data | 传递的数据和数据类型 | |
Category | 组件类型 | |
Extras | 额外的信息,key-value对 | |
Flags | 标志位 |
这里的explicit/implicit为显示调用和隐式调用。
显示调用:指明了用什么应用,比如美图付款,点支付宝,他就只会去调用支付宝;
隐式调用:比如微信传文本,点击打开,他很模糊的要你选,用哪个应用去打开。
Intent Filter
组件声明其接受的Intent类型;
系统匹配Intent策略:
·如果是Explicit,运行指定的组件;
·如果是Implicit:
·Action匹配:fiter中某一个action需要和Intent的action匹配:
·filter为空,无匹配;
·intent为空,filter至少需要一个action,则匹配;
·Category匹配:intetn为空,则匹配任意filter;
·Data匹配:<scheme>://<host>:<port>/<path>
PendingIntent
PendingIntent用于包裹Intent,授权其他应用使用Intent。
·声明一个Intent,当用户点击通知栏的时候执行;
·声明一个Intent,当用户操作App Widget执行;
·声明一个Intent,当某个特定时候执行,比如AlarmManger。
不是立即执行Intent,在为了某个指定的行为下才触发执行。
以上是关于Android安全笔记-Intent和PendingIntent基本概念的主要内容,如果未能解决你的问题,请参考以下文章