今天项目中有这样的一个需求,当程序还没被进程“杀死”的时候,后台推送来了一则消息,这时候不管是程序在前台运行,还是后台中,需要我们以通知栏的方式来通知用户。
对于通知栏,用户操作后有两种情况。
1.当程序在前台运行的时候,点击后,直接跳到目标Activity,此时,点击返回键是回到上个页面
2.点击通知栏后,先启动App,然后再跳到目标页面,此时,按下返回键是回到App的首页,而不至于退出App
第一种情况实现:
这种情况比较容易,只要直接在PendingIntent 中指定Activity中即可
Intent intent = new Intent(getApplicationContext(), SplashActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
因此第一种情况,结合创建一个通知栏的代码结合就是:
NotificationManager barmanager=(NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notice;
Notification.Builder builder = new Notification.Builder(contxt).setTicker(message)
.setSmallIcon(R.drawable.ic_launcher).setWhen(System.currentTimeMillis());
Intent appIntent=null;
appIntent