public void displayNotification() {
//跳转到自身Activity 数据在onNewIntent里面获取*************特别重要
Intent i = new Intent(getActivity(), MainActivity.class);
i.putExtra("notificationID", 1);
PendingIntent pendingIntent = PendingIntent.getActivity(getActivity(), 0,i , PendingIntent.FLAG_UPDATE_CURRENT );
NotificationManager mNotifyMgr = (NotificationManager) getActivity().getSystemService(NOTIFICATION_SERVICE);
NotificationCompat.Builder notifyBuilder =
new NotificationCompat.Builder( getActivity() ).setContentTitle("张三的会议")
.setContentText("邀请您进入会议!")
.setSmallIcon(R.mipmap.meetingpicture)
// 点击消失
.setAutoCancel( true )
// 设置该通知优先级
.setPriority( Notification.PRIORITY_MAX )
.setLargeIcon( BitmapFactory.decodeResource(getResources(), R.mipmap.icon ) )
// 通知首次出现在通知栏,带上升动画效果的
.setWhen( System.currentTimeMillis())
// 通知产生的时间,会在通知信息里显示
// 向通知添加声音、闪灯和振动效果的最简单、最一致的方式是使用当前的用户默认设置,使用defaults属性,可以组合:
.setDefaults( Notification.DEFAULT_VIBRATE | Notification.DEFAULT_ALL | Notification.DEFAULT_SOUND );
notifyBuilder.setContentIntent(pendingIntent);
mNotifyMgr.notify( 1, notifyBuilder.build());
}
这是一个notification的使用,设置MainActivity的模式为singleTask
注意这里的数据需要在onNewIntent的方法里面进行操作
在任何时候 Activity随时会被系统kill
所以系统这时候会从onStart(注意)