NotificationCompat.Builder не принимает идентификатор канала в качестве аргумента - PullRequest
0 голосов
/ 17 ноября 2018

Я пытаюсь настроить уведомления в своем приложении для Android, но NotificationCompat не примет идентификатор канала в качестве аргумента. В моем файле Gradle у меня есть

    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support:support-compat:27.1.1'

Я также создал каналы в своем коде для начинающих, как показано ниже.

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        NotificationChannel channel = new NotificationChannel(
            CHANNEL_1, "Channel 1", NotificationManager.IMPORTANCE_LOW);

        channel.setDescription("This is channel 1");

        NotificationManager manager = getSystemService(NotificationManager.class);
        if (manager != null) 
            manager.createNotificationChannel(channel);
    }

Наконец, у меня есть код активности.

    NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);
    Notification notification = new NotificationCompat.Builder(this, CHANNEL_1)

...... и вот где я нахожу свою проблему. Android Studio сообщает, что блок подписи неверен. Он не принимает идентификатор канала в качестве второго аргумента. Я импортировал как v4, так и v7 для NotificationCompat, и ни один не работает. Я также пытался

    NotificationCompat.Builder mBuilder = //continued code

Я использовал приведенные ниже ссылки на Android и не нашел решения.

https://developer.android.com/training/notify-user/channels

https://developer.android.com/training/notify-user/build-notification#java

Я также просмотрел два сообщения StackOverflow, которые находятся ниже, и до сих пор нет решения для моего случая.

NotificationCompat.Builder () не принимает идентификатор канала в качестве аргумента

NotificationCompat.Builder не принимает второй аргумент

Я не могу понять, почему эта проблема присутствует.

1 Ответ

0 голосов
/ 17 ноября 2018

Ну, я нашел ответ в этой статье.

Как заставить это работать*

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...