通知介绍
Android通知是一个基本的操作,状态通知栏主要涉及到2个类: Notification 和 NotificationManager。
Notification为通知信息类,可以设置通知栏的各种属性。
NotificationManager是通知的管理类,负责发送通知和清除通知操作。
通知标志Flags
通过该标志位,可以设置通知的提醒标志,可以向通知添加声音、闪灯和振动效果,可以多个属性进行组合。
Notification.FLAG_SHOW_LIGHTS //三色灯提醒,在使用三色灯提醒时候必须加该标志符
Notification.FLAG_ONGOING_EVENT //发起正在运行事件(活动中)
Notification.FLAG_INSISTENT //让声音、振动无限循环,直到用户响应 (取消或者打开)
Notification.FLAG_ONLY_ALERT_ONCE //发起Notification后,铃声和震动均只执行一次
Notification.FLAG_AUTO_CANCEL //用户单击通知后自动消失
Notification.FLAG_NO_CLEAR //只有全部清除时,Notification才会清除 ,不清楚该通知(QQ的通知无法清除,就是用的这个)
Notification.FLAG_FOREGROUND_SERVICE //表示正在运行的服务
示例代码
NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
.setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle("测试通知")
.setContentText("Hello World");
//设置点击通知之后的响应,启动SettingActivity类
Intent resultIntent = new Intent(this,SettingActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this,0,resultIntent,PendingIntent.FLAG_UPDATE_CURRENT);
builder.setContentIntent(pendingIntent);
Notification notification = builder.build();
notification.flags = Notification.FLAG_ONGOING_EVENT;
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(1,notification);
最终效果如下: