码迷,mamicode.com
首页 > 移动开发 > 详细

Android开发学习——使用通知

时间:2020-07-22 16:03:18      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:def   卸载   des   cancel   tle   etc   name   ext   否则   

在按照书中的例子使用通知在设备上没有通知,查找资料后发现Android8后通知需要NotificationChannel,兼容 Android 8.0的通知如下:

               NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

                Intent intent = new Intent(this,NotificationMain2Activity.class);
                PendingIntent pi = PendingIntent.getActivity(this,0,intent,0);

                // 构建 Notification
                Notification.Builder builder = new Notification.Builder(this);
                builder.setContentTitle("ContentTitle")
                        .setSmallIcon(R.drawable.ic_launcher_background)
                        .setContentText("Content Text Here")
                        .setContentIntent(pi)
                        .setAutoCancel(true);

                // 兼容 Android 8.0
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){
                    String channelId = "ET_Notification_001";
                    String channelName = "ETtNotificationName";
                    // 第三个参数表示通知的重要程度
                    NotificationChannel notificationChannel = new NotificationChannel(channelId, channelName, NotificationManager.IMPORTANCE_DEFAULT);
                    // 册后除非卸载再安装否则不改变
                    notificationManager.createNotificationChannel(notificationChannel);
                    builder.setChannelId(channelId);
                }
                // 发出通知
                notificationManager.notify(1, builder.build());

Android开发学习——使用通知

标签:def   卸载   des   cancel   tle   etc   name   ext   否则   

原文地址:https://blog.51cto.com/470462/2512416

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!