Android8以上 显示通知栏简单实现

空扰寡人 提交于 2020-04-16 10:30:34

【推荐阅读】微服务还能火多久?>>>

private void showNotification() {
        NotificationManager mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        //点击通知本身会显示ResultActivity
        Intent resultIntent = new Intent(this, MainActivity.class);
        resultIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
        PendingIntent resultPendingIntent =
                PendingIntent.getActivity(
                        this,
                        0,
                        resultIntent,
                        PendingIntent.FLAG_UPDATE_CURRENT
                );
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            NotificationChannel mChannel = new NotificationChannel(CHANNEL_ID, name, NotificationManager.IMPORTANCE_LOW);
            mNotificationManager.createNotificationChannel(mChannel);
            notification = new Notification.Builder(this)
                    .setChannelId(CHANNEL_ID)
                    .setContentTitle("活动")
                    .setContentIntent(resultPendingIntent)
                    .setContentText("您有一项新活动")
                    .setSmallIcon(R.mipmap.ic_launcher).build();
        } else {
            mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
            //构造Builder对象
            builder = new NotificationCompat.Builder(this)
                    .setSmallIcon(R.mipmap.ic_launcher)
                    .setContentTitle("我是标题")
                    .setContentText("我是内容")
                    .setDefaults(Notification.DEFAULT_ALL)//全部
//                    .setDefaults(Notification.DEFAULT_LIGHTS)//闪光灯
//                    .setDefaults(Notification.DEFAULT_VIBRATE)//震动
//                    .setDefaults(Notification.DEFAULT_SOUND)//声音
            ; // requires VIBRATE permission  消息提醒设置
            notification = builder.build();
            builder.setContentIntent(resultPendingIntent);
        }
        mNotificationManager.notify(1, notification);

    }

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!