Notification使用

Android2023年5月14日 am8:08发布1年前 (2023)更新 3XCN.COM站长
0 0 0
广告也精彩
目录

前言

简单记录一下Notification的使用,这里设计简单Notification和自定义View的Notification的使用。

记录于此,方便自己查阅和学习。

正文

简单Notification

由于高版本需要添加NotificationChannel,下面就进行了一定的适配。

private String mChannelID = "";
private String mChannelName = "读书导航";
private NotificationManager mNotificationManager;
mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
NotificationChannel notificationChannel;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
    notificationChannel = new NotificationChannel(mChannelID, mChannelName, NotificationManager.IMPORTANCE_HIGH);
    notificationChannel.setSound(null, null);
    mNotificationManager.createNotificationChannel(notificationChannel);
}
private void sendNotification(int id, String title, String message) {
    //点击Notification时跳转PendingIntent
    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_LAUNCHER);
    intent.setClass(this, MainActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
            | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
    @SuppressLint("UnspecifiedImmutableFlag")
    PendingIntent pendingIntent = PendingIntent.getActivity(this
            , (int) SystemClock.uptimeMillis()
            , intent
            , PendingIntent.FLAG_UPDATE_CURRENT);

    Notification.Builder builder = new Notification.Builder(this);

    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
        builder.setChannelId(mChannelID);
    }
    //设置通知栏大图标,上图中右边的大图
    builder.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher))
            // 设置状态栏和通知栏小图标
            .setSmallIcon(R.mipmap.ddf)
            // 设置通知栏应用名称
            .setTicker("ticker")
            // 设置通知栏显示时间
            .setWhen(System.currentTimeMillis())
            // 设置通知栏标题
            .setContentTitle(title)
            .setSubText("setSubText") // 内容下面的一小段文字
            .setTicker("setTicker") // 收到信息后状态栏显示的文字信息
            // 设置通知栏内容
            .setContentText(message)
            // 设置通知栏点击后是否清除,设置为true,当点击此通知栏后,它会自动消失
            .setAutoCancel(false)
            // 将Ongoing设为true 那么左滑右滑将不能删除通知栏
            .setOngoing(true)
            // 设置通知栏点击意图
            .setContentIntent(pendingIntent)
            // 铃声、闪光、震动均系统默认
            .setDefaults(Notification.DEFAULT_ALL)
            // 设置为public后,通知栏将在锁屏界面显示
            .setVisibility(Notification.VISIBILITY_PRIVATE)
            // 从Android4.1开始,可以通过以下方法,设置通知栏的优先级,优先级越高的通知排的越靠前,
            // 优先级低的,不会在手机最顶部的状态栏显示图标
            // 设置优先级为PRIORITY_MAX,将会在手机顶部显示通知栏
            .setPriority(Notification.PRIORITY_MIN);

    mNotificationManager.notify(id, builder.build());
}

自定义View的Notification

这种是多媒体中比较常用的。

隐藏内容!
付费阅读后才能查看!
2
多个隐藏块只需支付一次

 历史上的今天

版权声明 1、 本站名称: 91易搜
2、 本站网址: 91es.com3xcn.com
3、 本站文章: 部分来源于网络,仅供站长学习和参考,若侵权请留言
广告也精彩

相关文章

广告也精彩

暂无评论

评论审核已启用。您的评论可能需要一段时间后才能被显示。

暂无评论...

网站升级中

公告

近期网站升级中,可能存在一些bug。欢迎反馈 https://www.91es.com/we.html

本站域名

本站域名 : 91es.com3xcn.com。本站邮箱 : 站长邮箱 i@oorr.cn,通知邮箱we@oorr.cn ,如有更新,请看公告 。