Android通知

```java
String CHANNEL_ID = "channelId"; // 定义一个通知渠道的ID
String name = "channel"; // 定义通知渠道的名称

// 创建一个大图样式的通知
Notification.BigPictureStyle bigPictureStyle = new Notification.BigPictureStyle()
    .setBigContentTitle("Big picture style notification ~ Expand title") // 设置展开时的标题
    .setSummaryText("Demo for big picture style notification ! ~ Expand summery") // 设置展开时的摘要
    .bigPicture(BitmapFactory.decodeResource(this.getResources(),R.drawable.beijin2)); // 设置展开时的大图

Notification notification = null; // 定义通知对象

// 如果当前Android版本大于等于Android O
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    // 创建通知对象
    notification = new Notification.Builder(this,CHANNEL_ID)
        .setContentTitle("测试通知标题") // 设置通知标题
        .setContentText("测试通知文本") // 设置通知文本
        .setWhen(System.currentTimeMillis()) // 设置通知时间
        .setSmallIcon(R.drawable.ic_launcher_foreground) // 设置小图标
        .setLargeIcon(BitmapFactory.decodeResource(getResources(),R.drawable.ic_launcher_foreground)) // 设置大图标
        .setStyle(bigPictureStyle) // 设置通知样式为大图样式
        .build(); // 构建通知对象
}

NotificationManager notificationManager = (NotificationManager)this.getSystemService(NOTIFICATION_SERVICE); // 获取系统的通知管理器

NotificationChannel channel = null; // 定义通知渠道对象

// 如果当前Android版本大于等于Android O
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    channel = new NotificationChannel(CHANNEL_ID,"测试渠道名称", NotificationManager.IMPORTANCE_DEFAULT); // 创建通知渠道对象
}

// 如果当前Android版本大于等于Android O
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    notificationManager.createNotificationChannel(channel); // 创建通知渠道
}

Button notificationButton = findViewById(R.id.notificationButton); // 获取按钮控件

Notification finalNotification = notification; // 定义最终发送的通知对象

// 设置按钮点击事件
notificationButton.setOnClickListener(view -> {
    notificationManager.notify(1, finalNotification); // 发送通知
});
```

代码的主要功能是创建并发送一个大图样式的通知。首先,定义了一个通知渠道的ID和名称。然后,创建了一个大图样式的通知对象,设置了展开时的标题、摘要和大图。之后,判断当前Android版本是否大于等于Android O,如果是,则创建一个通知对象,设置通知的标题、文本、时间、小图标、大图标和样式。接着,获取系统的通知管理器,创建一个通知渠道对象,并将通知渠道添加到通知管理器中。最后,设置按钮的点击事件,在点击时发送通知。

如果要设置长文本则需要这样写

Notification.BigTextStyle bigTextStyle =new Notification.BigTextStyle()
                .setBigContentTitle("系统测试")
                .setSummaryText("长文本")
                .bigText("11111111111111111111111111111111111111111111111111111111");

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值