Android发送通知

通知介绍

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);

最终效果如下: