pendingIntent
PendingIntent常用的静态方法主要有:
- getActivitity(Context context, int requestCode,
Intent intent, int flags) 跳转到一个activity组件; - getBroadcast(Context context, int requestCode,
Intent intent, int flags) 打开一个广播组件; - getService(Context context, int requestCode,
Intent intent,int flags)打开一个服务组件。
PendingIntent和Intent最大的区别就是PendingIntent的执行并不是立刻执行的。
最常用的地方就是在使用Notification的时候:
Notification.Builder builder = new Notification.Builder(this);
// 必需的通知内容
builder.setContentTitle("content title")
.setContentText("content describe")
.setSmallIcon(R.mipmap.ic_launcher);
Intent notifyIntent = new Intent(this, NextActivity.class);
PendingIntent notifyPendingIntent = PendingIntent.getActivity(this, 0, notifyIntent, PendingIntent.FLAG_UPDATE_CURRENT);
builder.setContentIntent(notifyPendingIntent);
Notification notification = builder.getNotification();
NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
manager.notify(0, notification);
其他的方法也是类似。