PendingIntent

原创 2015年07月06日 22:42:55

PendingIntent:

    等待的,未决定的Intent。一种特殊的Intent。

区别:

    Intent的执行立刻的,pendingIntent的执行不是立刻的。

     PendingIntent就是一个可以在满足一定条件下执行的Intent,

  它相比于Intent的优势在于自己携带有Context对象,这样他就不必依赖于某个activity才可以存在。

目的:

    在于它所包含的Intent的操作的执行是需要满足某些条件的。

    主要的使用的地方和例子:通知Notificatio的发送,短消息SmsManager的发送和警报器AlarmManager的执行等等。


静态方法 :

getActivity(Context, int, Intent, int),

getBroadcast(Context, int, Intent, int)

 getService(Context, int, Intent, int)  

分别对应着Intent的3个行为:

跳转到一个activity组件

打开一个广播组件

打开一个服务组件。


运用举例:

AlarmManager称为全局定时器,是Android中常用的一种系统级别的提示服务,在特定的时刻为我们广播一个指定的Intent。

简单的说就是我们设定一个时间,然后在该时间到来时,AlarmManager为我们广播一个我们设定的Intent,

通常我们使用 PendingIntent

public void set(int type, long triggerAtMillis, PendingIntent operation)
功能:用于设置一次性闹钟
第一个参数表示闹钟类型,
第二个参数表示触发这个闹钟要等待的时间,与type相关
第三个参数闹钟响应的动作
参数type: 
AlarmManager.ELAPSED_REALTIME    表示闹钟在手机睡眠状态下不可用,该状态下闹钟使用相对时间(相对于系统启动开始),状态值为3;
AlarmManager.ELAPSED_REALTIME_WAKEUP    表示闹钟在睡眠状态下会唤醒系统并执行提示功能,该状态下闹钟也使用相对时间,状态值为2;
AlarmManager.RTC  表示闹钟在睡眠状态下不可用,该状态下闹钟使用绝对时间,即当前系统时间,状态值为1;
AlarmManager.RTC_WAKEUP  表示闹钟在睡眠状态下会唤醒系统并执行提示功能,该状态下闹钟使用绝对时间,状态值为0;
AlarmManager.POWER_OFF_WAKEUP  表示闹钟在手机关机状态下也能正常进行提示功能,该状态下闹钟也是用绝对时间,状态值为4;不过我测试的时候并没有,这个常量,估计和SDK有关。
参数operation:绑定了闹钟的执行动作,比如发送一个广播、给出提示等等。




Android Notification自定义PendingIntent 详解

本节带来的是Android中用于在状态栏显示通知信息的控件:Notification,相信大部分 学Android都对他都很熟悉,而网上很多关于Notification的使用教程都是基于2.x的,而 ...
  • baidujiangwei18
  • baidujiangwei18
  • 2016年05月08日 20:48
  • 1282

利用pendingintent 和AlarmManager实现定时任务的一些分析

PendingIntent 获取 PendingIntent对象的方法: 可以通过getActivity(Context context, int requestCode, Intent inte...
  • nuanguang1990
  • nuanguang1990
  • 2016年04月25日 16:11
  • 547

解决PendingIntent传递参数为空的问题

今天碰到一个使用PendingIntent 给Activity传递参数问题,总结下: Intent intent = new Intent(ACTION_MESSAGE_DETAIL); i...
  • wangbole
  • wangbole
  • 2012年04月16日 13:14
  • 11781

android之PendingIntent的使用

PendingIntent的使用 知识点: 1、pendingIntent简介; 2、pendingIntent的基本用法; 3、notification通知的用法; pen...
  • qq_16628781
  • qq_16628781
  • 2016年05月31日 19:37
  • 2498

[Android] PendingIntent详解

转:http://my.oschina.net/u/242041/blog/206710  Intent是一个意图,一个描述了想要启动一个Activity、Broadcast或是Service的...
  • zhangmiaoping23
  • zhangmiaoping23
  • 2016年08月03日 11:31
  • 3763

Android PendingIntent 不能跳转的问题总结

PendingIntent可以看作是对Intent的包装,供当前App之外的其他App调用。PendingIntent主要持有的信息是它所包装的Intent和当前App的Context。外部App执行...
  • wangbaochu
  • wangbaochu
  • 2016年01月27日 09:54
  • 3208

深度解析 PendingIntent 及其与 Intent 的区别

什么是IntentIntent 在组件间被用于进行信息传递(例如 Activitiy, Service, Broadcast Receiver, Content Provider),从而调用不同的组...
  • u012403246
  • u012403246
  • 2015年04月01日 11:19
  • 1658

Android消息通知PendingIntent传递参数出问题

这个bug比较坑,今天在测消息通知,要传几个参数,但是怎么都传不过去,最后搜了一下问题居然出在了这儿:...
  • dabaoonline
  • dabaoonline
  • 2016年09月13日 11:33
  • 990

关于PendingIntent与Activity的例子

package com.habby.sliderbar; import android.app.Activity; import android.app.PendingIntent; import...
  • linux_Mary_me
  • linux_Mary_me
  • 2013年11月11日 22:05
  • 999

Notification&PendingIntent 发现问题+解决+思考

项目上遇到一个通知栏消息打开的bug,解决的过程很有意思,所以写下来纪念下。...
  • pihfr631459
  • pihfr631459
  • 2015年05月05日 19:01
  • 381
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PendingIntent
举报原因:
原因补充:

(最多只允许输入30个字)