PendingIntent概述

 

一,区别

1,PendingIntent一般用于跳到应用内部,常和NotificationManager配合使用,

  Intent一般跳转到指定的activity,service等

2,  pendingIntent的执行不是立刻的,延时的.

 而Intent是立刻执行的,所在的activity 消失而消失.

3,PendingIntent可以理解为Intent的封装包,简单的说就是在Intent上在加个指定的动作。在使用Intent的时候,我们还需要在执行startActivity、startService或sendBroadcast才能使Intent有用。而PendingIntent的话就是将这个动作包含在内了。


二,支持三种待定意图:

1,getActivity(Contextcontext,int requestCode,Intent intent,int flags);

2,getService(Contextcontext,int requestCode,Intent intent,int flags);

3,getBroadcast(Contextcontext,int requestCode,Intent intent,int flags); 

三,说明事项

1,requestCode一般为0即可

2,flags有四种:

A,flag_one_shot,同类的通知只能使用一次,后续的通知单机将无法打开

B,flag_no_create ,这个标记位很少见,它无法单独会用,因此在日常开发中用的很少

C,flag_cancel_current ,被cancel的消息单机后将无法打开

D,flag_update_current,执行更新,他们的intent中的Extras会被替代成最新的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PendingIntent.getBroadcast()是Android中的一个方法,用于创建一个用于发送广播的PendingIntent对象。广播是一种用于在Android应用程序之间传递消息或事件的机制。 使用PendingIntent.getBroadcast()方法,可以创建一个待处理的意图(Intent),当该意图被触发时,系统将发送一个广播。这个广播可以被其他应用程序接收并做出相应的处理。 该方法的语法如下: ```java public static PendingIntent getBroadcast(Context context, int requestCode, Intent intent, int flags) ``` 参数说明: - context:上下文对象,一般为Activity或Service的实例; - requestCode:请求码,用于标识PendingIntent的唯一性; - intent:要发送的广播意图; - flags:标志位,用于设置PendingIntent的行为。 示例代码: ```java Intent broadcastIntent = new Intent(context, MyBroadcastReceiver.class); PendingIntent pendingIntent = PendingIntent.getBroadcast(context, requestCode, broadcastIntent, PendingIntent.FLAG_UPDATE_CURRENT); ``` 其中,MyBroadcastReceiver是自定义的广播接收器类,用于接收并处理广播消息。requestCode参数可根据需要进行设置,用于区分不同的PendingIntent对象。 注意:使用PendingIntent.getBroadcast()方法创建的PendingIntent对象只能用于发送广播,而不能用于启动Activity或Service。如果需要启动Activity或Service,需要使用PendingIntent.getActivity()或PendingIntent.getService()方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值