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基本概念的主要内容,如果未能解决你的问题,请参考以下文章

读书笔记Android平台的漏洞挖掘和分析

Android 读书笔记---Intent 和 IntentFilter

Android安全笔记-Broadcast基本概念

Android学习笔记 Intent

Android笔记02:Intent机制详解

Android笔记:intent