1

I am attempting to set up notifications in my android app, but NotificationCompat will not accept the channel id as an argument. In my gradle file I have

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

I have also created the channels in my Starter code as below.

    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);
    }

Finally, I have in the activity code.

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

......and that is where I find my issue. Android Studio is telling me that the signature block is incorrect. It is not accepting the channel id as a second argument. I have imported both v4, and v7 for the NotificationCompat and neither works. I have also tried

    NotificationCompat.Builder mBuilder = //continued code

I have used the below Android links, and I have not found a solution.

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

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

I also have viewed two StackOverflow post, which are below, and still no solution for my case.

NotificationCompat.Builder() not accepting Channel Id as argument

NotificationCompat.Builder doesn't accept 2nd argument

I cannot figure out why this issue is present.

MarvyP
  • 21
  • 7
  • What exactly is the error? – TheWanderer Nov 17 '18 at 13:43
  • It isn't accepting the second argument. The error line appears and when I hover over it, it reads Builder (Context) in Builder cannot be applied to (LoginActivity, java.lang.String). – MarvyP Nov 17 '18 at 13:46

1 Answers1

1

Well, I found the answer in this article.

How to make it work NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this, NOTIFICATION_CHANNEL_ID);

    configurations.all {
        resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '27.1.0'
            }
        }
    }
MarvyP
  • 21
  • 7