一眼看懂适用于Android8.0及以下的通知栏使用

这篇文章就是使用适配Android8.0的操作,基本上直接复制过去修改一部分就可以直接使用.其他操作就看参考博客,或者百度Notification 类

一、确定目标sdk

创建好项目之后,打开app/build.gradle文件检查一下,确保targetSdkVersion已经指定到了26或者更高

二、创建通知渠道

    private void buildChannel() {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
			//通知渠道的id
            String channelId = "warn";
			//通知渠道的名称
            String channelName = "预警通知";
			//IMPORTANCE_HIGH:像微信那样的通知方式
			//IMPORTANCE_DEFAULT:像知乎那样的
			//IMPORTANCE_LOW:重要性
			//IMPORTANCE_MIN:更低重要性
            int importance = NotificationManager.IMPORTANCE_DEFAULT;
			//创建通知渠道函数,直接复制就好
            createNotificationChannel(channelId, channelName, importance);
        }
		
		
		    @TargetApi(Build.VERSION_CODES.O)
    private void createNotificationChannel(String channelId, String channelName, int importance) {
        NotificationChannel channel = new NotificationChannel(channelId, channelName, importance);
        NotificationManager notificationManager = (NotificationManager) getSystemService(
                NOTIFICATION_SERVICE);
        notificationManager.createNotificationChannel(channel);
    }
    }

· 创建一个通知渠道至少需要渠道ID、渠道名称以及重要等级这三个参数
· 其中渠道ID可以随便定义,只要保证全局唯一性就可以。
· 渠道名称是给用户看的,需要能够表达清楚这个渠道的用途。
· 重要等级的不同则会决定通知的不同行为,当然这里只是初始状态下的重要等级,用户可以随时手动更改某个渠道的重要等级,App是无法干预的

三、直接使用

复制过去,改一改就可以用。注意把我的Context换一换就可以

        //类似知乎点击后跳转到对应文章
        PendingIntent intent = PendingIntent.getActivity(mContext,
                100, new Intent(mContext, ShowDeviceActivity.class),
                PendingIntent.FLAG_CANCEL_CURRENT);

        NotificationManager manager = (NotificationManager) mContext.getSystemService(NOTIFICATION_SERVICE);
        Notification notification = new NotificationCompat.Builder(mContext, "warn")//刚刚注册的id
                .setContentTitle("警报")
                .setContentText( "数据异常")
                .setWhen(System.currentTimeMillis())
                .setSmallIcon(R.drawable.login_mainimg)
                .setContentIntent(intent)
//                .setLargeIcon(BitmapFactory.decodeResource()
                .setAutoCancel(true)
                .build();
        manager.notify(2, notification);//这个2 是 id 不要和其他通知重复就好

感谢阅读!如有不合理之处还望指出,谢谢!
侵删

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值