Android——通知


基本使用(两种方式)

//高版本使用方式
//获取系统通知管理服务
//1.使用原接口
NotificationManager notificationManager = getSystemService(NotificationManager.class);
//2.使用兼容系统的通知管理服务:主要用于SDK版本 >=26,其具有NotificationManager的所有功能
NotificationManagerCompat notificationManagerCompat = NotificationManagerCompat.from(this);

//构建通道
//1.旧接口
NotificationChannel channel  =new NotificationChannel("1001",
        "test_channel",NotificationManager.IMPORTANCE_DEFAULT);
channel.setDescription("for test channel description");
notificationManager.createNotificationChannel(channel);

//2.兼容接口
NotificationChannelCompat channelCompat  =new NotificationChannelCompat.Builder("1001",
                NotificationManagerCompat.IMPORTANCE_DEFAULT)
                .setDescription("for test compat channel description")
                .build();
notificationManagerCompat.createNotificationChannel(channelCompat);

//构建PendingIntent
//PendingIntent打开Activity时,不会将该Activity加入到当前应用的任务栈中
//这也是它与普通Intent的区别
Intent intent = new Intent(MainActivity.this,ChildActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(MainActivity.this,1001,intent,PendingIntent.FLAG_CANCEL_CURRENT);

//构建通知内容
//1.旧接口
Notification notification = new Notification.Builder(MainActivity.this, "1001")
        .setSmallIcon(R.drawable.search)
        .setContentTitle("title")
        .setContentInfo("body")
        .setPriority(Notification.PRIORITY_DEFAULT)
        .setContentIntent(pendingIntent)
        .build();
notificationManager.notify(1,notification);
//2.兼容接口
Notification notificationCompat = new NotificationCompat.Builder(MainActivity.this, "1001")
        .setSmallIcon(R.drawable.search)
        .setContentTitle("title")
        .setContentInfo("body")
        .setPriority(NotificationCompat.PRIORITY_DEFAULT)
        .setContentIntent(pendingIntent)
        .build();
notificationManagerCompat.notify(1,notificationCompat);

//取消通知
notificationManager.cancel(1);
//notificationManagerCompat.cancel(1);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值