一,区别
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会被替代成最新的