通知NotificationManager的简单使用

白才艺
2023-12-01
  • 资料来源 《第一行代码》

兼容性问题

  • 使用v4库中的NotificaationCompat类,可以保证程序在所有Android系统版本上使用。

在activity中,使用一个简单的通知

public void createNotification(View view){
PendingIntent pi = PendingIntent.getActivity(this, 0, new Intent(this, SecondActivity.class), 0);
NotificationManager  manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new NotificationCompat.Builder(this)
        .setContentTitle("通知的标题")
        .setContentText("通知的正文内容")
        .setWhen(System.currentTimeMillis())
        .setSmallIcon(R.mipmap.ic_launcher)//只能使用纯alpha图层的图片进行设置
        .setLargeIcon(BitmapFactory.decodeResource(getResources(),R.drawable.bg_02))//下拉系统状态栏时,就可以看到大图片
        .setContentIntent(pi)//设置一个延迟意图,点击可执行
        .setAutoCancel(true)//点击后,自动消失
        .build();
manager.notify(id,notification);
}

通知的取消

两种方式:
 一种是点击后自动取消:  .setAutoCancel(true)//点击后,自动消失
一种是根据id取消:  manager.cancel(id);

通知的奇技淫巧

.setSound(Uri.fromFile(new File("音频地址")))//通知发出时,播放一段音频
.setVibrate(new long[]{0,1000,1000,1000})//通知发出时,震动
.setLights(Color.GREEN,1000,1000)//设置led灯闪烁,灯的颜色,灯亮的时长,灯暗去的时长
.setDefaults(NotificationCompat.DEFAULT_ALL)//设置默认铃声和震动
.setStyle(new NotificationCompat.BigTextStyle().bigText("很长很长的话"))//设置富文本通知,比如设置一段长文字或者图片
.setStyle(new NotificationCompat.BigPictureStyle().bigPicture(BitmapFactory.decodeResource(getResources(),R.drawable.bg_02)))
.setPriority(NotificationCompat.PRIORITY_MAX)//设置通知的重要性
 类似资料: