31

I am trying to implement simple notifications in my android app. I am reffering this developer guide

But getting this error message :

Incompatible types.
Required: android.support.v7app.NotificationCompat.Builder
Found: android.support.v4.app.Notification.Compat.Builder

Error Message screenshot

For the following code snippet :

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this)
                        .setSmallIcon(R.drawable.ic_launcher)
                        .setContentTitle("My notification")
                        .setContentText("Hello World!");

Here are my imports :

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.app.NotificationCompat;
import android.view.View;
import android.widget.Button;

I think the correct NotificationCompat class is imported. I am using Android Studio v2.1.2 for development. Please help me with this error message. I am new to android programming and java.

Kuldeep Kumar
  • 905
  • 3
  • 9
  • 22

3 Answers3

43

Replace

 import android.support.v7.app.NotificationCompat;

with

 import android.support.v4.app.NotificationCompat;
Dhruvi
  • 1,971
  • 2
  • 10
  • 18
29

The return type of those builder methods are returning the v4 version of NotificationCompat.Builder. The v7 NotificationCompat.Builder extends the v4 version and largely just inherits the methods from it, meaning the return types don't change.

Documentation:

If you need the v7 version (for the support of NotificationCompat.MediaStyle), just cast to it.

NotificationCompat.Builder mBuilder = (android.support.v7.app.NotificationCompat.Builder) new NotificationCompat.Builder(this)
                    .setSmallIcon(R.drawable.ic_launcher)
                    .setContentTitle("My notification")
                    .setContentText("Hello World!");

If not, swap your imports to use the v4 version.

Meetarp
  • 2,331
  • 1
  • 23
  • 31
  • Your documentation link for v7 is broken - it just goes to an index which has an entry for the v4 NotificationCompat, and also an entry that looks like it should be for the v7 NotificationCompat but actually just links back to the same index... – Jules May 13 '18 at 15:09
14

Latest working solution 2020

If you have updated to Androidx then
replace

import android.support.v4.app.NotificationCompat
//or
import android.support.v7.app.NotificationCompat

with

import androidx.core.app.NotificationCompat;
Gopal Meena
  • 407
  • 8
  • 20