我正在try 创建通知.但当我运行时,通知不会显示. 有人能告诉我下面的代码有什么问题吗?

import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.NotificationCompat;
import androidx.core.content.res.ResourcesCompat;

import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;

public class MainActivity extends AppCompatActivity {
    private static final String CHANNEL_ID = "all_notifications";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        NotificationManager nm =  (NotificationManager) this.getSystemService(NOTIFICATION_SERVICE);
        Notification notification;
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {

            NotificationChannel channelN = new NotificationChannel(CHANNEL_ID, "New Channel", NotificationManager.IMPORTANCE_HIGH);
            nm.createNotificationChannel(channelN);

            notification = new Notification.Builder(this, CHANNEL_ID)
                    .setSmallIcon(R.drawable.small_icon)
                    .setContentText("New Message")
                    .setSubText("subText")
                    .setChannelId(CHANNEL_ID)
                    .build();
        }
        else
        {
            notification = new Notification.Builder(this)
                    .setSmallIcon(R.drawable.small_icon)
                    .setContentText("New Message")
                    .setSubText("subText")
                    .build();
        }
        nm.notify(1245, notification);
    }
}

我正在try 创建通知.但当我运行时,通知不会显示. 有人能告诉我下面的代码有什么问题吗?

推荐答案

我使用的是Android 13,而Android 13需要通知许可. 在获得许可后,它运行正常.

Java相关问答推荐

@从类文件中删除JsonProperty—Java

inteliJ中是否有一个功能可以自动在块注释中的/*后面添加一个空格?''

Java List with all combinations of 8 booleans

为什么BasicComboBoxRenderer在文本不存在或文本为空的情况下设置两次文本?

蒙蒂霍尔比赛结果不正确

Spring和可编辑";where";@Query

为什么Spring Boot项目无法为基于MySQL的CRUD应用程序找到从JPARepository接口扩展的ProductRepository?

将Spring Boot 3.2.0升级到3.2.1后查询执行错误

如何在JavaFX中处理多个按钮

使用存储在字符串变量中的路径目录打开.pdf文件

如何在 spring 数据的MongoDB派生查询方法中使用$EXISTS

如何在我的世界中为互动增加冷却时间?

来自外部模块的方面(对于Java+Gradle项目)不起作用

如何创建模块信息类文件并将其添加到JAR中?

在Oracle中调用输出参数在索引处缺少IN或OUT参数的函数

如何使用Java ZoneID的区域设置?

如何在Spring Boot中为不同的部署环境管理多个.properties文件?

将基于实例编号的对象列表拆分为新的对象列表

如何在更改分辨率时将鼠标坐标计算为世界坐标

java构造函数中的冻结操作何时发生?