NotificationCompat.Builder deprecated in Android ONotification.Builder(context) deprecated Android ODaily repeating notifications with deprecated N̶o̶t̶i̶f̶i̶c̶a̶t̶i̶o̶n̶C̶o̶m̶p̶a̶t̶.̶B̶u̶i̶l̶d̶e̶r̶Why it Showing deprecated API usage in Notificationcompat.BuilderOn Android 8.1 API 27 notification does not displayNotificationCompat.Builder doesn't accept 2nd argumentNotificationCompat.Builder only has deprecated constructorhow to update custom layout notification actions?Firebase Push notification not receving on some android devicesCancel (and hide) Android notification programaticallyFirebaseMessagingService Intercept notifications when app closedIs there a way to run Python on Android?How to save an Android Activity state using save instance state?Close/hide the Android Soft KeyboardWhy is the Android emulator so slow? How can we speed up the Android emulator?“Debug certificate expired” error in Eclipse Android pluginsIs there a unique Android device ID?What is 'Context' on Android?Proper use cases for Android UserManager.isUserAGoat()?Notification.Builder(context) deprecated Android OAndroid - Can't use NotificationCompat.Builder new constructor (Context, String)

Finding the nth term of sequence of 3, 10, 31, 94, 283...

Terry Pratchett book with a lawyer dragon and sheep

Modulus Operandi

How can one write good dialogue in a story without sounding wooden?

Print the last, middle and first character of your code

For a hashing function like MD5, how similar can two plaintext strings be and still generate the same hash?

Why were Er and Onan punished if they were under 20?

Cracking the Coding Interview — 1.5 One Away

How can I calculate the sum of 2 random dice out of a 3d6 pool in AnyDice?

How can a dictatorship government be beneficial to a dictator in a post-scarcity society?

How to loop for 3 times in bash script when docker push fails?

definition of "percentile"

Would dual wielding daggers be a viable choice for a covert bodyguard?

QGIS Zanzibar how to crop?

Is "I do not want you to go nowhere" a case of "DOUBLE-NEGATIVES" as claimed by Grammarly?

Are neural networks prone to catastrophic forgetting?

US Civil War story: man hanged from a bridge

Managing and organizing the massively increased number of classes after switching to SOLID?

Can a Beast Master ranger have its beast chase down and attack enemies?

Received a dinner invitation through my employer's email, is it ok to attend?

How did the hit man miss?

What is the job of the acoustic cavities inside the main combustion chamber?

Referring to different instances of the same character in time travel

What is this triple-transistor arrangement called?



NotificationCompat.Builder deprecated in Android O


Notification.Builder(context) deprecated Android ODaily repeating notifications with deprecated N̶o̶t̶i̶f̶i̶c̶a̶t̶i̶o̶n̶C̶o̶m̶p̶a̶t̶.̶B̶u̶i̶l̶d̶e̶r̶Why it Showing deprecated API usage in Notificationcompat.BuilderOn Android 8.1 API 27 notification does not displayNotificationCompat.Builder doesn't accept 2nd argumentNotificationCompat.Builder only has deprecated constructorhow to update custom layout notification actions?Firebase Push notification not receving on some android devicesCancel (and hide) Android notification programaticallyFirebaseMessagingService Intercept notifications when app closedIs there a way to run Python on Android?How to save an Android Activity state using save instance state?Close/hide the Android Soft KeyboardWhy is the Android emulator so slow? How can we speed up the Android emulator?“Debug certificate expired” error in Eclipse Android pluginsIs there a unique Android device ID?What is 'Context' on Android?Proper use cases for Android UserManager.isUserAGoat()?Notification.Builder(context) deprecated Android OAndroid - Can't use NotificationCompat.Builder new constructor (Context, String)






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








129















After upgrading my project to Android O



buildToolsVersion "26.0.1"


Lint in Android Studio is showing a deprecated warning for the follow notification builder method:



new NotificationCompat.Builder(context)


The problem is: Android Developers update their Documentation describing NotificationChannel to support notifications in Android O, and provide us with a snippet, yet with the same deprecated warning:



Notification notification = new Notification.Builder(MainActivity.this)
.setContentTitle("New Message")
.setContentText("You've received new messages.")
.setSmallIcon(R.drawable.ic_notify_status)
.setChannelId(CHANNEL_ID)
.build();


Notifications Overview



My question: Is there is any other solution for building notification, and still support Android O?



A solution I found is to pass the channel ID as a parameter in Notification.Builder constructor. But this solution is not exactly reusable.



new Notification.Builder(MainActivity.this, "channel_id")









share|improve this question



















  • 4





    But this solution is not exactly reusable. how so?

    – Tim Castelijns
    Aug 2 '17 at 13:45






  • 3





    NotificationCompat.Builder is deprecated not Notification.Builder. Notice the Compat part gone. Notification is their new class where they are streamlining everything

    – Kapil G
    Aug 2 '17 at 13:50






  • 1





    @kapsym it's the other way around actually. Notification.Builder is older

    – Tim Castelijns
    Aug 2 '17 at 13:52











  • Plus i dont see it deprecated here developer.android.com/reference/android/support/v4/app/…. Maybe a bug in Lint

    – Kapil G
    Aug 2 '17 at 13:54












  • The channel id is passed at the constructor, or can be placed using notificationBuild.setChannelId("channel_id"). In my case this last solution is more reusabled as my NotificationCompat.Builder is reused in a couple methods, saving up parameters for icons, sounds and vibrates.

    – GuilhermeFGL
    Aug 2 '17 at 13:57

















129















After upgrading my project to Android O



buildToolsVersion "26.0.1"


Lint in Android Studio is showing a deprecated warning for the follow notification builder method:



new NotificationCompat.Builder(context)


The problem is: Android Developers update their Documentation describing NotificationChannel to support notifications in Android O, and provide us with a snippet, yet with the same deprecated warning:



Notification notification = new Notification.Builder(MainActivity.this)
.setContentTitle("New Message")
.setContentText("You've received new messages.")
.setSmallIcon(R.drawable.ic_notify_status)
.setChannelId(CHANNEL_ID)
.build();


Notifications Overview



My question: Is there is any other solution for building notification, and still support Android O?



A solution I found is to pass the channel ID as a parameter in Notification.Builder constructor. But this solution is not exactly reusable.



new Notification.Builder(MainActivity.this, "channel_id")









share|improve this question



















  • 4





    But this solution is not exactly reusable. how so?

    – Tim Castelijns
    Aug 2 '17 at 13:45






  • 3





    NotificationCompat.Builder is deprecated not Notification.Builder. Notice the Compat part gone. Notification is their new class where they are streamlining everything

    – Kapil G
    Aug 2 '17 at 13:50






  • 1





    @kapsym it's the other way around actually. Notification.Builder is older

    – Tim Castelijns
    Aug 2 '17 at 13:52











  • Plus i dont see it deprecated here developer.android.com/reference/android/support/v4/app/…. Maybe a bug in Lint

    – Kapil G
    Aug 2 '17 at 13:54












  • The channel id is passed at the constructor, or can be placed using notificationBuild.setChannelId("channel_id"). In my case this last solution is more reusabled as my NotificationCompat.Builder is reused in a couple methods, saving up parameters for icons, sounds and vibrates.

    – GuilhermeFGL
    Aug 2 '17 at 13:57













129












129








129


22






After upgrading my project to Android O



buildToolsVersion "26.0.1"


Lint in Android Studio is showing a deprecated warning for the follow notification builder method:



new NotificationCompat.Builder(context)


The problem is: Android Developers update their Documentation describing NotificationChannel to support notifications in Android O, and provide us with a snippet, yet with the same deprecated warning:



Notification notification = new Notification.Builder(MainActivity.this)
.setContentTitle("New Message")
.setContentText("You've received new messages.")
.setSmallIcon(R.drawable.ic_notify_status)
.setChannelId(CHANNEL_ID)
.build();


Notifications Overview



My question: Is there is any other solution for building notification, and still support Android O?



A solution I found is to pass the channel ID as a parameter in Notification.Builder constructor. But this solution is not exactly reusable.



new Notification.Builder(MainActivity.this, "channel_id")









share|improve this question
















After upgrading my project to Android O



buildToolsVersion "26.0.1"


Lint in Android Studio is showing a deprecated warning for the follow notification builder method:



new NotificationCompat.Builder(context)


The problem is: Android Developers update their Documentation describing NotificationChannel to support notifications in Android O, and provide us with a snippet, yet with the same deprecated warning:



Notification notification = new Notification.Builder(MainActivity.this)
.setContentTitle("New Message")
.setContentText("You've received new messages.")
.setSmallIcon(R.drawable.ic_notify_status)
.setChannelId(CHANNEL_ID)
.build();


Notifications Overview



My question: Is there is any other solution for building notification, and still support Android O?



A solution I found is to pass the channel ID as a parameter in Notification.Builder constructor. But this solution is not exactly reusable.



new Notification.Builder(MainActivity.this, "channel_id")






android notifications android-notifications






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Feb 22 '18 at 7:25









Shree

1711 silver badge17 bronze badges




1711 silver badge17 bronze badges










asked Aug 2 '17 at 13:44









GuilhermeFGLGuilhermeFGL

1,2992 gold badges6 silver badges30 bronze badges




1,2992 gold badges6 silver badges30 bronze badges







  • 4





    But this solution is not exactly reusable. how so?

    – Tim Castelijns
    Aug 2 '17 at 13:45






  • 3





    NotificationCompat.Builder is deprecated not Notification.Builder. Notice the Compat part gone. Notification is their new class where they are streamlining everything

    – Kapil G
    Aug 2 '17 at 13:50






  • 1





    @kapsym it's the other way around actually. Notification.Builder is older

    – Tim Castelijns
    Aug 2 '17 at 13:52











  • Plus i dont see it deprecated here developer.android.com/reference/android/support/v4/app/…. Maybe a bug in Lint

    – Kapil G
    Aug 2 '17 at 13:54












  • The channel id is passed at the constructor, or can be placed using notificationBuild.setChannelId("channel_id"). In my case this last solution is more reusabled as my NotificationCompat.Builder is reused in a couple methods, saving up parameters for icons, sounds and vibrates.

    – GuilhermeFGL
    Aug 2 '17 at 13:57












  • 4





    But this solution is not exactly reusable. how so?

    – Tim Castelijns
    Aug 2 '17 at 13:45






  • 3





    NotificationCompat.Builder is deprecated not Notification.Builder. Notice the Compat part gone. Notification is their new class where they are streamlining everything

    – Kapil G
    Aug 2 '17 at 13:50






  • 1





    @kapsym it's the other way around actually. Notification.Builder is older

    – Tim Castelijns
    Aug 2 '17 at 13:52











  • Plus i dont see it deprecated here developer.android.com/reference/android/support/v4/app/…. Maybe a bug in Lint

    – Kapil G
    Aug 2 '17 at 13:54












  • The channel id is passed at the constructor, or can be placed using notificationBuild.setChannelId("channel_id"). In my case this last solution is more reusabled as my NotificationCompat.Builder is reused in a couple methods, saving up parameters for icons, sounds and vibrates.

    – GuilhermeFGL
    Aug 2 '17 at 13:57







4




4





But this solution is not exactly reusable. how so?

– Tim Castelijns
Aug 2 '17 at 13:45





But this solution is not exactly reusable. how so?

– Tim Castelijns
Aug 2 '17 at 13:45




3




3





NotificationCompat.Builder is deprecated not Notification.Builder. Notice the Compat part gone. Notification is their new class where they are streamlining everything

– Kapil G
Aug 2 '17 at 13:50





NotificationCompat.Builder is deprecated not Notification.Builder. Notice the Compat part gone. Notification is their new class where they are streamlining everything

– Kapil G
Aug 2 '17 at 13:50




1




1





@kapsym it's the other way around actually. Notification.Builder is older

– Tim Castelijns
Aug 2 '17 at 13:52





@kapsym it's the other way around actually. Notification.Builder is older

– Tim Castelijns
Aug 2 '17 at 13:52













Plus i dont see it deprecated here developer.android.com/reference/android/support/v4/app/…. Maybe a bug in Lint

– Kapil G
Aug 2 '17 at 13:54






Plus i dont see it deprecated here developer.android.com/reference/android/support/v4/app/…. Maybe a bug in Lint

– Kapil G
Aug 2 '17 at 13:54














The channel id is passed at the constructor, or can be placed using notificationBuild.setChannelId("channel_id"). In my case this last solution is more reusabled as my NotificationCompat.Builder is reused in a couple methods, saving up parameters for icons, sounds and vibrates.

– GuilhermeFGL
Aug 2 '17 at 13:57





The channel id is passed at the constructor, or can be placed using notificationBuild.setChannelId("channel_id"). In my case this last solution is more reusabled as my NotificationCompat.Builder is reused in a couple methods, saving up parameters for icons, sounds and vibrates.

– GuilhermeFGL
Aug 2 '17 at 13:57












8 Answers
8






active

oldest

votes


















127














It is mentioned in the documentation that the builder method NotificationCompat.Builder(Context context) has been deprecated. And we have to use the constructor which has the channelId parameter:



NotificationCompat.Builder(Context context, String channelId)


https://developer.android.com/reference/android/support/v4/app/NotificationCompat.Builder.html




This constructor was deprecated in API level 26.0.0-beta1. use
NotificationCompat.Builder(Context, String) instead. All posted
Notifications must specify a NotificationChannel Id.




https://developer.android.com/reference/android/app/Notification.Builder.html




This constructor was deprecated in API level 26. use
Notification.Builder(Context, String) instead. All posted
Notifications must specify a NotificationChannel Id.




If you want to reuse the builder setters, you can create the builder with the channelId, and pass that builder to a helper method and set your preferred settings in that method.






share|improve this answer


















  • 3





    It seems they are contradicting themselves when posting the Notification.Builder(context) solution in the NotificationChannel session. But well, at least you found a post notifying this deprecating =)

    – GuilhermeFGL
    Aug 2 '17 at 16:00







  • 18





    What is the channelId can you please explain ?

    – Santanu Sur
    Jan 26 '18 at 8:39






  • 13





    what is channelId ?

    – RoundTwo
    Jan 30 '18 at 16:55






  • 3





    You can also still use NotificationCompat.Builder(Context context), and then assign the channel like so: builder.setChannelId(String channelId)

    – deyanm
    Apr 30 '18 at 10:27






  • 25





    A channel Id can be any string , it is too big to discuss in comments, but it is used to separate your notifications into categories so that the user can disable what he thinks is not important to him rather than blocking all notifications from your app.

    – yehyatt
    May 15 '18 at 8:16


















98














enter image description here



Here is working code for all android versions as of API LEVEL 26+ with backward compatibility.



 NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(getContext(), "M_CH_ID");

notificationBuilder.setAutoCancel(true)
.setDefaults(Notification.DEFAULT_ALL)
.setWhen(System.currentTimeMillis())
.setSmallIcon(R.drawable.ic_launcher)
.setTicker("Hearty365")
.setPriority(Notification.PRIORITY_MAX) // this is deprecated in API 26 but you can still use for below 26. check below update for 26 API
.setContentTitle("Default notification")
.setContentText("Lorem ipsum dolor sit amet, consectetur adipiscing elit.")
.setContentInfo("Info");

NotificationManager notificationManager = (NotificationManager) getContext().getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(1, notificationBuilder.build());




UPDATE for API 26 to set Max priority





 NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
String NOTIFICATION_CHANNEL_ID = "my_channel_id_01";

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
NotificationChannel notificationChannel = new NotificationChannel(NOTIFICATION_CHANNEL_ID, "My Notifications", NotificationManager.IMPORTANCE_MAX);

// Configure the notification channel.
notificationChannel.setDescription("Channel description");
notificationChannel.enableLights(true);
notificationChannel.setLightColor(Color.RED);
notificationChannel.setVibrationPattern(new long[]0, 1000, 500, 1000);
notificationChannel.enableVibration(true);
notificationManager.createNotificationChannel(notificationChannel);



NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this, NOTIFICATION_CHANNEL_ID);

notificationBuilder.setAutoCancel(true)
.setDefaults(Notification.DEFAULT_ALL)
.setWhen(System.currentTimeMillis())
.setSmallIcon(R.drawable.ic_launcher)
.setTicker("Hearty365")
// .setPriority(Notification.PRIORITY_MAX)
.setContentTitle("Default notification")
.setContentText("Lorem ipsum dolor sit amet, consectetur adipiscing elit.")
.setContentInfo("Info");

notificationManager.notify(/*notification id*/1, notificationBuilder.build());





share|improve this answer

























  • How can you make the notification actually show on the screen in the app or if in another app?

    – BlueBoy
    Nov 19 '17 at 1:27











  • @BlueBoy i am not getting your question. could you please explain what exactly you need?

    – Aks4125
    Nov 20 '17 at 4:20











  • @Aks4125 The notification doesn't slide down and show at the top of the screen. You hear a tone, and a tiny notification icon appears in the status bar - but nothing slides down and shows like if you got a txt message.

    – BlueBoy
    Nov 20 '17 at 20:26











  • @BlueBoy you need to set priority to HIGH for that behaviour. let me know if you need me to update this code. if you sneak around for high priority notification you will get your answer.

    – Aks4125
    Dec 4 '17 at 5:10






  • 1





    @BlueBoy check updated answer. if you're not targeting 26 API then just use same code with .setPriority(Notification.PRIORITY_MAX) else use updated code for 26 API. `

    – Aks4125
    Dec 4 '17 at 8:03



















27














Call the 2-arg constructor: For compatibility with Android O, call support-v4 NotificationCompat.Builder(Context context, String channelId). When running on Android N or earlier, the channelId will be ignored. When running on Android O, also create a NotificationChannel with the same channelId.



Out of date sample code: The sample code on several JavaDoc pages such as Notification.Builder calling new Notification.Builder(mContext) is out of date.



Deprecated constructors: Notification.Builder(Context context) and v4 NotificationCompat.Builder(Context context) are deprecated in favor of Notification[Compat].Builder(Context context, String channelId). (See Notification.Builder(android.content.Context) and v4 NotificationCompat.Builder(Context context).)



Deprecated class: The entire class v7 NotificationCompat.Builder is deprecated. (See v7 NotificationCompat.Builder.) Previously, v7 NotificationCompat.Builder was needed to support NotificationCompat.MediaStyle. In Android O, there's a v4 NotificationCompat.MediaStyle in the media-compat library's android.support.v4.media package. Use that one if you need MediaStyle.



API 14+: In Support Library from 26.0.0 and higher, the support-v4 and support-v7 packages both support a minimum API level of 14. The v# names are historical.



See Recent Support Library Revisions.






share|improve this answer






























    19














    Instead of checking for Build.VERSION.SDK_INT >= Build.VERSION_CODES.O as many answers suggest, there is a slightly simpler way -



    Add the following line to the application section of AndroidManifest.xml file as explained in the Set Up a Firebase Cloud Messaging Client App on Android doc:



     <meta-data
    android:name="com.google.firebase.messaging.default_notification_channel_id"
    android:value="@string/default_notification_channel_id" />


    Then add a line with a channel name to the values/strings.xml file:



    <string name="default_notification_channel_id">default</string>


    After that you will be able to use the new version of NotificationCompat.Builder constructor with 2 parameters (since the old constructor with 1 parameter has been deprecated in Android Oreo):



    private void sendNotification(String title, String body) 
    Intent i = new Intent(this, MainActivity.class);
    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    PendingIntent pi = PendingIntent.getActivity(this,
    0 /* Request code */,
    i,
    PendingIntent.FLAG_ONE_SHOT);

    Uri sound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

    NotificationCompat.Builder builder = new NotificationCompat.Builder(this,
    getString(R.string.default_notification_channel_id))
    .setSmallIcon(R.mipmap.ic_launcher)
    .setContentTitle(title)
    .setContentText(body)
    .setAutoCancel(true)
    .setSound(sound)
    .setContentIntent(pi);

    NotificationManager manager =
    (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

    manager.notify(0, builder.build());






    share|improve this answer

























    • how is this simpler? :S

      – Nactus
      Jan 20 at 1:57


















    14














    Here is the sample code, which is working in Android Oreo and less than Oreo.



     NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
    NotificationCompat.Builder builder = null;
    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O)
    int importance = NotificationManager.IMPORTANCE_DEFAULT;
    NotificationChannel notificationChannel = new NotificationChannel("ID", "Name", importance);
    notificationManager.createNotificationChannel(notificationChannel);
    builder = new NotificationCompat.Builder(getApplicationContext(), notificationChannel.getId());
    else
    builder = new NotificationCompat.Builder(getApplicationContext());


    builder = builder
    .setSmallIcon(R.drawable.ic_notification_icon)
    .setColor(ContextCompat.getColor(context, R.color.color))
    .setContentTitle(context.getString(R.string.getTitel))
    .setTicker(context.getString(R.string.text))
    .setContentText(message)
    .setDefaults(Notification.DEFAULT_ALL)
    .setAutoCancel(true);
    notificationManager.notify(requestCode, builder.build());





    share|improve this answer






























      6














      Simple Sample



       public void showNotification (String from, String notification, Intent intent) 
      PendingIntent pendingIntent = PendingIntent.getActivity(
      context,
      Notification_ID,
      intent,
      PendingIntent.FLAG_UPDATE_CURRENT
      );


      String NOTIFICATION_CHANNEL_ID = "my_channel_id_01";
      NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);


      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
      NotificationChannel notificationChannel = new NotificationChannel(NOTIFICATION_CHANNEL_ID, "My Notifications", NotificationManager.IMPORTANCE_DEFAULT);

      // Configure the notification channel.
      notificationChannel.setDescription("Channel description");
      notificationChannel.enableLights(true);
      notificationChannel.setLightColor(Color.RED);
      notificationChannel.setVibrationPattern(new long[]0, 1000, 500, 1000);
      notificationChannel.enableVibration(true);
      notificationManager.createNotificationChannel(notificationChannel);



      NotificationCompat.Builder builder = new NotificationCompat.Builder(context, NOTIFICATION_CHANNEL_ID);
      Notification mNotification = builder
      .setContentTitle(from)
      .setContentText(notification)

      // .setTicker("Hearty365")
      // .setContentInfo("Info")
      // .setPriority(Notification.PRIORITY_MAX)

      .setContentIntent(pendingIntent)

      .setAutoCancel(true)
      // .setDefaults(Notification.DEFAULT_ALL)
      // .setWhen(System.currentTimeMillis())
      .setSmallIcon(R.mipmap.ic_launcher)
      .setLargeIcon(BitmapFactory.decodeResource(context.getResources(), R.mipmap.ic_launcher))
      .build();

      notificationManager.notify(/*notification id*/Notification_ID, mNotification);







      share|improve this answer






























        2














        Notification notification = new Notification.Builder(MainActivity.this)
        .setContentTitle("New Message")
        .setContentText("You've received new messages.")
        .setSmallIcon(R.drawable.ic_notify_status)
        .setChannelId(CHANNEL_ID)
        .build();


        Right code will be :



        Notification.Builder notification=new Notification.Builder(this)


        with dependency 26.0.1 and new updated dependencies such as 28.0.0.



        Some users use this code in the form of this :



        Notification notification=new NotificationCompat.Builder(this)//this is also wrong code.


        So Logic is that which Method you will declare or initilize then the same methode on Right side will be use for Allocation. if in Leftside of = you will use some method then the same method will be use in right side of = for Allocation with new.



        Try this code...It will sure work






        share|improve this answer
































          1














          This constructor was deprecated in API level 26.1.0.
          use NotificationCompat.Builder(Context, String) instead. All posted Notifications must specify a NotificationChannel Id.






          share|improve this answer























          • Maybe rather add a comment with link to the documentation instead of copy cat and posting as an answer.

            – JacksOnF1re
            Oct 4 '18 at 14:58











          protected by Nilesh Rathod Jun 19 '18 at 5:24



          Thank you for your interest in this question.
          Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).



          Would you like to answer one of these unanswered questions instead?














          8 Answers
          8






          active

          oldest

          votes








          8 Answers
          8






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          127














          It is mentioned in the documentation that the builder method NotificationCompat.Builder(Context context) has been deprecated. And we have to use the constructor which has the channelId parameter:



          NotificationCompat.Builder(Context context, String channelId)


          https://developer.android.com/reference/android/support/v4/app/NotificationCompat.Builder.html




          This constructor was deprecated in API level 26.0.0-beta1. use
          NotificationCompat.Builder(Context, String) instead. All posted
          Notifications must specify a NotificationChannel Id.




          https://developer.android.com/reference/android/app/Notification.Builder.html




          This constructor was deprecated in API level 26. use
          Notification.Builder(Context, String) instead. All posted
          Notifications must specify a NotificationChannel Id.




          If you want to reuse the builder setters, you can create the builder with the channelId, and pass that builder to a helper method and set your preferred settings in that method.






          share|improve this answer


















          • 3





            It seems they are contradicting themselves when posting the Notification.Builder(context) solution in the NotificationChannel session. But well, at least you found a post notifying this deprecating =)

            – GuilhermeFGL
            Aug 2 '17 at 16:00







          • 18





            What is the channelId can you please explain ?

            – Santanu Sur
            Jan 26 '18 at 8:39






          • 13





            what is channelId ?

            – RoundTwo
            Jan 30 '18 at 16:55






          • 3





            You can also still use NotificationCompat.Builder(Context context), and then assign the channel like so: builder.setChannelId(String channelId)

            – deyanm
            Apr 30 '18 at 10:27






          • 25





            A channel Id can be any string , it is too big to discuss in comments, but it is used to separate your notifications into categories so that the user can disable what he thinks is not important to him rather than blocking all notifications from your app.

            – yehyatt
            May 15 '18 at 8:16















          127














          It is mentioned in the documentation that the builder method NotificationCompat.Builder(Context context) has been deprecated. And we have to use the constructor which has the channelId parameter:



          NotificationCompat.Builder(Context context, String channelId)


          https://developer.android.com/reference/android/support/v4/app/NotificationCompat.Builder.html




          This constructor was deprecated in API level 26.0.0-beta1. use
          NotificationCompat.Builder(Context, String) instead. All posted
          Notifications must specify a NotificationChannel Id.




          https://developer.android.com/reference/android/app/Notification.Builder.html




          This constructor was deprecated in API level 26. use
          Notification.Builder(Context, String) instead. All posted
          Notifications must specify a NotificationChannel Id.




          If you want to reuse the builder setters, you can create the builder with the channelId, and pass that builder to a helper method and set your preferred settings in that method.






          share|improve this answer


















          • 3





            It seems they are contradicting themselves when posting the Notification.Builder(context) solution in the NotificationChannel session. But well, at least you found a post notifying this deprecating =)

            – GuilhermeFGL
            Aug 2 '17 at 16:00







          • 18





            What is the channelId can you please explain ?

            – Santanu Sur
            Jan 26 '18 at 8:39






          • 13





            what is channelId ?

            – RoundTwo
            Jan 30 '18 at 16:55






          • 3





            You can also still use NotificationCompat.Builder(Context context), and then assign the channel like so: builder.setChannelId(String channelId)

            – deyanm
            Apr 30 '18 at 10:27






          • 25





            A channel Id can be any string , it is too big to discuss in comments, but it is used to separate your notifications into categories so that the user can disable what he thinks is not important to him rather than blocking all notifications from your app.

            – yehyatt
            May 15 '18 at 8:16













          127












          127








          127







          It is mentioned in the documentation that the builder method NotificationCompat.Builder(Context context) has been deprecated. And we have to use the constructor which has the channelId parameter:



          NotificationCompat.Builder(Context context, String channelId)


          https://developer.android.com/reference/android/support/v4/app/NotificationCompat.Builder.html




          This constructor was deprecated in API level 26.0.0-beta1. use
          NotificationCompat.Builder(Context, String) instead. All posted
          Notifications must specify a NotificationChannel Id.




          https://developer.android.com/reference/android/app/Notification.Builder.html




          This constructor was deprecated in API level 26. use
          Notification.Builder(Context, String) instead. All posted
          Notifications must specify a NotificationChannel Id.




          If you want to reuse the builder setters, you can create the builder with the channelId, and pass that builder to a helper method and set your preferred settings in that method.






          share|improve this answer













          It is mentioned in the documentation that the builder method NotificationCompat.Builder(Context context) has been deprecated. And we have to use the constructor which has the channelId parameter:



          NotificationCompat.Builder(Context context, String channelId)


          https://developer.android.com/reference/android/support/v4/app/NotificationCompat.Builder.html




          This constructor was deprecated in API level 26.0.0-beta1. use
          NotificationCompat.Builder(Context, String) instead. All posted
          Notifications must specify a NotificationChannel Id.




          https://developer.android.com/reference/android/app/Notification.Builder.html




          This constructor was deprecated in API level 26. use
          Notification.Builder(Context, String) instead. All posted
          Notifications must specify a NotificationChannel Id.




          If you want to reuse the builder setters, you can create the builder with the channelId, and pass that builder to a helper method and set your preferred settings in that method.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Aug 2 '17 at 15:52









          BobBob

          8,5884 gold badges16 silver badges33 bronze badges




          8,5884 gold badges16 silver badges33 bronze badges







          • 3





            It seems they are contradicting themselves when posting the Notification.Builder(context) solution in the NotificationChannel session. But well, at least you found a post notifying this deprecating =)

            – GuilhermeFGL
            Aug 2 '17 at 16:00







          • 18





            What is the channelId can you please explain ?

            – Santanu Sur
            Jan 26 '18 at 8:39






          • 13





            what is channelId ?

            – RoundTwo
            Jan 30 '18 at 16:55






          • 3





            You can also still use NotificationCompat.Builder(Context context), and then assign the channel like so: builder.setChannelId(String channelId)

            – deyanm
            Apr 30 '18 at 10:27






          • 25





            A channel Id can be any string , it is too big to discuss in comments, but it is used to separate your notifications into categories so that the user can disable what he thinks is not important to him rather than blocking all notifications from your app.

            – yehyatt
            May 15 '18 at 8:16












          • 3





            It seems they are contradicting themselves when posting the Notification.Builder(context) solution in the NotificationChannel session. But well, at least you found a post notifying this deprecating =)

            – GuilhermeFGL
            Aug 2 '17 at 16:00







          • 18





            What is the channelId can you please explain ?

            – Santanu Sur
            Jan 26 '18 at 8:39






          • 13





            what is channelId ?

            – RoundTwo
            Jan 30 '18 at 16:55






          • 3





            You can also still use NotificationCompat.Builder(Context context), and then assign the channel like so: builder.setChannelId(String channelId)

            – deyanm
            Apr 30 '18 at 10:27






          • 25





            A channel Id can be any string , it is too big to discuss in comments, but it is used to separate your notifications into categories so that the user can disable what he thinks is not important to him rather than blocking all notifications from your app.

            – yehyatt
            May 15 '18 at 8:16







          3




          3





          It seems they are contradicting themselves when posting the Notification.Builder(context) solution in the NotificationChannel session. But well, at least you found a post notifying this deprecating =)

          – GuilhermeFGL
          Aug 2 '17 at 16:00






          It seems they are contradicting themselves when posting the Notification.Builder(context) solution in the NotificationChannel session. But well, at least you found a post notifying this deprecating =)

          – GuilhermeFGL
          Aug 2 '17 at 16:00





          18




          18





          What is the channelId can you please explain ?

          – Santanu Sur
          Jan 26 '18 at 8:39





          What is the channelId can you please explain ?

          – Santanu Sur
          Jan 26 '18 at 8:39




          13




          13





          what is channelId ?

          – RoundTwo
          Jan 30 '18 at 16:55





          what is channelId ?

          – RoundTwo
          Jan 30 '18 at 16:55




          3




          3





          You can also still use NotificationCompat.Builder(Context context), and then assign the channel like so: builder.setChannelId(String channelId)

          – deyanm
          Apr 30 '18 at 10:27





          You can also still use NotificationCompat.Builder(Context context), and then assign the channel like so: builder.setChannelId(String channelId)

          – deyanm
          Apr 30 '18 at 10:27




          25




          25





          A channel Id can be any string , it is too big to discuss in comments, but it is used to separate your notifications into categories so that the user can disable what he thinks is not important to him rather than blocking all notifications from your app.

          – yehyatt
          May 15 '18 at 8:16





          A channel Id can be any string , it is too big to discuss in comments, but it is used to separate your notifications into categories so that the user can disable what he thinks is not important to him rather than blocking all notifications from your app.

          – yehyatt
          May 15 '18 at 8:16













          98














          enter image description here



          Here is working code for all android versions as of API LEVEL 26+ with backward compatibility.



           NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(getContext(), "M_CH_ID");

          notificationBuilder.setAutoCancel(true)
          .setDefaults(Notification.DEFAULT_ALL)
          .setWhen(System.currentTimeMillis())
          .setSmallIcon(R.drawable.ic_launcher)
          .setTicker("Hearty365")
          .setPriority(Notification.PRIORITY_MAX) // this is deprecated in API 26 but you can still use for below 26. check below update for 26 API
          .setContentTitle("Default notification")
          .setContentText("Lorem ipsum dolor sit amet, consectetur adipiscing elit.")
          .setContentInfo("Info");

          NotificationManager notificationManager = (NotificationManager) getContext().getSystemService(Context.NOTIFICATION_SERVICE);
          notificationManager.notify(1, notificationBuilder.build());




          UPDATE for API 26 to set Max priority





           NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
          String NOTIFICATION_CHANNEL_ID = "my_channel_id_01";

          if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
          NotificationChannel notificationChannel = new NotificationChannel(NOTIFICATION_CHANNEL_ID, "My Notifications", NotificationManager.IMPORTANCE_MAX);

          // Configure the notification channel.
          notificationChannel.setDescription("Channel description");
          notificationChannel.enableLights(true);
          notificationChannel.setLightColor(Color.RED);
          notificationChannel.setVibrationPattern(new long[]0, 1000, 500, 1000);
          notificationChannel.enableVibration(true);
          notificationManager.createNotificationChannel(notificationChannel);



          NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this, NOTIFICATION_CHANNEL_ID);

          notificationBuilder.setAutoCancel(true)
          .setDefaults(Notification.DEFAULT_ALL)
          .setWhen(System.currentTimeMillis())
          .setSmallIcon(R.drawable.ic_launcher)
          .setTicker("Hearty365")
          // .setPriority(Notification.PRIORITY_MAX)
          .setContentTitle("Default notification")
          .setContentText("Lorem ipsum dolor sit amet, consectetur adipiscing elit.")
          .setContentInfo("Info");

          notificationManager.notify(/*notification id*/1, notificationBuilder.build());





          share|improve this answer

























          • How can you make the notification actually show on the screen in the app or if in another app?

            – BlueBoy
            Nov 19 '17 at 1:27











          • @BlueBoy i am not getting your question. could you please explain what exactly you need?

            – Aks4125
            Nov 20 '17 at 4:20











          • @Aks4125 The notification doesn't slide down and show at the top of the screen. You hear a tone, and a tiny notification icon appears in the status bar - but nothing slides down and shows like if you got a txt message.

            – BlueBoy
            Nov 20 '17 at 20:26











          • @BlueBoy you need to set priority to HIGH for that behaviour. let me know if you need me to update this code. if you sneak around for high priority notification you will get your answer.

            – Aks4125
            Dec 4 '17 at 5:10






          • 1





            @BlueBoy check updated answer. if you're not targeting 26 API then just use same code with .setPriority(Notification.PRIORITY_MAX) else use updated code for 26 API. `

            – Aks4125
            Dec 4 '17 at 8:03
















          98














          enter image description here



          Here is working code for all android versions as of API LEVEL 26+ with backward compatibility.



           NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(getContext(), "M_CH_ID");

          notificationBuilder.setAutoCancel(true)
          .setDefaults(Notification.DEFAULT_ALL)
          .setWhen(System.currentTimeMillis())
          .setSmallIcon(R.drawable.ic_launcher)
          .setTicker("Hearty365")
          .setPriority(Notification.PRIORITY_MAX) // this is deprecated in API 26 but you can still use for below 26. check below update for 26 API
          .setContentTitle("Default notification")
          .setContentText("Lorem ipsum dolor sit amet, consectetur adipiscing elit.")
          .setContentInfo("Info");

          NotificationManager notificationManager = (NotificationManager) getContext().getSystemService(Context.NOTIFICATION_SERVICE);
          notificationManager.notify(1, notificationBuilder.build());




          UPDATE for API 26 to set Max priority





           NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
          String NOTIFICATION_CHANNEL_ID = "my_channel_id_01";

          if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
          NotificationChannel notificationChannel = new NotificationChannel(NOTIFICATION_CHANNEL_ID, "My Notifications", NotificationManager.IMPORTANCE_MAX);

          // Configure the notification channel.
          notificationChannel.setDescription("Channel description");
          notificationChannel.enableLights(true);
          notificationChannel.setLightColor(Color.RED);
          notificationChannel.setVibrationPattern(new long[]0, 1000, 500, 1000);
          notificationChannel.enableVibration(true);
          notificationManager.createNotificationChannel(notificationChannel);



          NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this, NOTIFICATION_CHANNEL_ID);

          notificationBuilder.setAutoCancel(true)
          .setDefaults(Notification.DEFAULT_ALL)
          .setWhen(System.currentTimeMillis())
          .setSmallIcon(R.drawable.ic_launcher)
          .setTicker("Hearty365")
          // .setPriority(Notification.PRIORITY_MAX)
          .setContentTitle("Default notification")
          .setContentText("Lorem ipsum dolor sit amet, consectetur adipiscing elit.")
          .setContentInfo("Info");

          notificationManager.notify(/*notification id*/1, notificationBuilder.build());





          share|improve this answer

























          • How can you make the notification actually show on the screen in the app or if in another app?

            – BlueBoy
            Nov 19 '17 at 1:27











          • @BlueBoy i am not getting your question. could you please explain what exactly you need?

            – Aks4125
            Nov 20 '17 at 4:20











          • @Aks4125 The notification doesn't slide down and show at the top of the screen. You hear a tone, and a tiny notification icon appears in the status bar - but nothing slides down and shows like if you got a txt message.

            – BlueBoy
            Nov 20 '17 at 20:26











          • @BlueBoy you need to set priority to HIGH for that behaviour. let me know if you need me to update this code. if you sneak around for high priority notification you will get your answer.

            – Aks4125
            Dec 4 '17 at 5:10






          • 1





            @BlueBoy check updated answer. if you're not targeting 26 API then just use same code with .setPriority(Notification.PRIORITY_MAX) else use updated code for 26 API. `

            – Aks4125
            Dec 4 '17 at 8:03














          98












          98








          98







          enter image description here



          Here is working code for all android versions as of API LEVEL 26+ with backward compatibility.



           NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(getContext(), "M_CH_ID");

          notificationBuilder.setAutoCancel(true)
          .setDefaults(Notification.DEFAULT_ALL)
          .setWhen(System.currentTimeMillis())
          .setSmallIcon(R.drawable.ic_launcher)
          .setTicker("Hearty365")
          .setPriority(Notification.PRIORITY_MAX) // this is deprecated in API 26 but you can still use for below 26. check below update for 26 API
          .setContentTitle("Default notification")
          .setContentText("Lorem ipsum dolor sit amet, consectetur adipiscing elit.")
          .setContentInfo("Info");

          NotificationManager notificationManager = (NotificationManager) getContext().getSystemService(Context.NOTIFICATION_SERVICE);
          notificationManager.notify(1, notificationBuilder.build());




          UPDATE for API 26 to set Max priority





           NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
          String NOTIFICATION_CHANNEL_ID = "my_channel_id_01";

          if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
          NotificationChannel notificationChannel = new NotificationChannel(NOTIFICATION_CHANNEL_ID, "My Notifications", NotificationManager.IMPORTANCE_MAX);

          // Configure the notification channel.
          notificationChannel.setDescription("Channel description");
          notificationChannel.enableLights(true);
          notificationChannel.setLightColor(Color.RED);
          notificationChannel.setVibrationPattern(new long[]0, 1000, 500, 1000);
          notificationChannel.enableVibration(true);
          notificationManager.createNotificationChannel(notificationChannel);



          NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this, NOTIFICATION_CHANNEL_ID);

          notificationBuilder.setAutoCancel(true)
          .setDefaults(Notification.DEFAULT_ALL)
          .setWhen(System.currentTimeMillis())
          .setSmallIcon(R.drawable.ic_launcher)
          .setTicker("Hearty365")
          // .setPriority(Notification.PRIORITY_MAX)
          .setContentTitle("Default notification")
          .setContentText("Lorem ipsum dolor sit amet, consectetur adipiscing elit.")
          .setContentInfo("Info");

          notificationManager.notify(/*notification id*/1, notificationBuilder.build());





          share|improve this answer















          enter image description here



          Here is working code for all android versions as of API LEVEL 26+ with backward compatibility.



           NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(getContext(), "M_CH_ID");

          notificationBuilder.setAutoCancel(true)
          .setDefaults(Notification.DEFAULT_ALL)
          .setWhen(System.currentTimeMillis())
          .setSmallIcon(R.drawable.ic_launcher)
          .setTicker("Hearty365")
          .setPriority(Notification.PRIORITY_MAX) // this is deprecated in API 26 but you can still use for below 26. check below update for 26 API
          .setContentTitle("Default notification")
          .setContentText("Lorem ipsum dolor sit amet, consectetur adipiscing elit.")
          .setContentInfo("Info");

          NotificationManager notificationManager = (NotificationManager) getContext().getSystemService(Context.NOTIFICATION_SERVICE);
          notificationManager.notify(1, notificationBuilder.build());




          UPDATE for API 26 to set Max priority





           NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
          String NOTIFICATION_CHANNEL_ID = "my_channel_id_01";

          if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
          NotificationChannel notificationChannel = new NotificationChannel(NOTIFICATION_CHANNEL_ID, "My Notifications", NotificationManager.IMPORTANCE_MAX);

          // Configure the notification channel.
          notificationChannel.setDescription("Channel description");
          notificationChannel.enableLights(true);
          notificationChannel.setLightColor(Color.RED);
          notificationChannel.setVibrationPattern(new long[]0, 1000, 500, 1000);
          notificationChannel.enableVibration(true);
          notificationManager.createNotificationChannel(notificationChannel);



          NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this, NOTIFICATION_CHANNEL_ID);

          notificationBuilder.setAutoCancel(true)
          .setDefaults(Notification.DEFAULT_ALL)
          .setWhen(System.currentTimeMillis())
          .setSmallIcon(R.drawable.ic_launcher)
          .setTicker("Hearty365")
          // .setPriority(Notification.PRIORITY_MAX)
          .setContentTitle("Default notification")
          .setContentText("Lorem ipsum dolor sit amet, consectetur adipiscing elit.")
          .setContentInfo("Info");

          notificationManager.notify(/*notification id*/1, notificationBuilder.build());






          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Aug 7 '18 at 4:10

























          answered Nov 15 '17 at 9:32









          Aks4125Aks4125

          3,2202 gold badges17 silver badges36 bronze badges




          3,2202 gold badges17 silver badges36 bronze badges












          • How can you make the notification actually show on the screen in the app or if in another app?

            – BlueBoy
            Nov 19 '17 at 1:27











          • @BlueBoy i am not getting your question. could you please explain what exactly you need?

            – Aks4125
            Nov 20 '17 at 4:20











          • @Aks4125 The notification doesn't slide down and show at the top of the screen. You hear a tone, and a tiny notification icon appears in the status bar - but nothing slides down and shows like if you got a txt message.

            – BlueBoy
            Nov 20 '17 at 20:26











          • @BlueBoy you need to set priority to HIGH for that behaviour. let me know if you need me to update this code. if you sneak around for high priority notification you will get your answer.

            – Aks4125
            Dec 4 '17 at 5:10






          • 1





            @BlueBoy check updated answer. if you're not targeting 26 API then just use same code with .setPriority(Notification.PRIORITY_MAX) else use updated code for 26 API. `

            – Aks4125
            Dec 4 '17 at 8:03


















          • How can you make the notification actually show on the screen in the app or if in another app?

            – BlueBoy
            Nov 19 '17 at 1:27











          • @BlueBoy i am not getting your question. could you please explain what exactly you need?

            – Aks4125
            Nov 20 '17 at 4:20











          • @Aks4125 The notification doesn't slide down and show at the top of the screen. You hear a tone, and a tiny notification icon appears in the status bar - but nothing slides down and shows like if you got a txt message.

            – BlueBoy
            Nov 20 '17 at 20:26











          • @BlueBoy you need to set priority to HIGH for that behaviour. let me know if you need me to update this code. if you sneak around for high priority notification you will get your answer.

            – Aks4125
            Dec 4 '17 at 5:10






          • 1





            @BlueBoy check updated answer. if you're not targeting 26 API then just use same code with .setPriority(Notification.PRIORITY_MAX) else use updated code for 26 API. `

            – Aks4125
            Dec 4 '17 at 8:03

















          How can you make the notification actually show on the screen in the app or if in another app?

          – BlueBoy
          Nov 19 '17 at 1:27





          How can you make the notification actually show on the screen in the app or if in another app?

          – BlueBoy
          Nov 19 '17 at 1:27













          @BlueBoy i am not getting your question. could you please explain what exactly you need?

          – Aks4125
          Nov 20 '17 at 4:20





          @BlueBoy i am not getting your question. could you please explain what exactly you need?

          – Aks4125
          Nov 20 '17 at 4:20













          @Aks4125 The notification doesn't slide down and show at the top of the screen. You hear a tone, and a tiny notification icon appears in the status bar - but nothing slides down and shows like if you got a txt message.

          – BlueBoy
          Nov 20 '17 at 20:26





          @Aks4125 The notification doesn't slide down and show at the top of the screen. You hear a tone, and a tiny notification icon appears in the status bar - but nothing slides down and shows like if you got a txt message.

          – BlueBoy
          Nov 20 '17 at 20:26













          @BlueBoy you need to set priority to HIGH for that behaviour. let me know if you need me to update this code. if you sneak around for high priority notification you will get your answer.

          – Aks4125
          Dec 4 '17 at 5:10





          @BlueBoy you need to set priority to HIGH for that behaviour. let me know if you need me to update this code. if you sneak around for high priority notification you will get your answer.

          – Aks4125
          Dec 4 '17 at 5:10




          1




          1





          @BlueBoy check updated answer. if you're not targeting 26 API then just use same code with .setPriority(Notification.PRIORITY_MAX) else use updated code for 26 API. `

          – Aks4125
          Dec 4 '17 at 8:03






          @BlueBoy check updated answer. if you're not targeting 26 API then just use same code with .setPriority(Notification.PRIORITY_MAX) else use updated code for 26 API. `

          – Aks4125
          Dec 4 '17 at 8:03












          27














          Call the 2-arg constructor: For compatibility with Android O, call support-v4 NotificationCompat.Builder(Context context, String channelId). When running on Android N or earlier, the channelId will be ignored. When running on Android O, also create a NotificationChannel with the same channelId.



          Out of date sample code: The sample code on several JavaDoc pages such as Notification.Builder calling new Notification.Builder(mContext) is out of date.



          Deprecated constructors: Notification.Builder(Context context) and v4 NotificationCompat.Builder(Context context) are deprecated in favor of Notification[Compat].Builder(Context context, String channelId). (See Notification.Builder(android.content.Context) and v4 NotificationCompat.Builder(Context context).)



          Deprecated class: The entire class v7 NotificationCompat.Builder is deprecated. (See v7 NotificationCompat.Builder.) Previously, v7 NotificationCompat.Builder was needed to support NotificationCompat.MediaStyle. In Android O, there's a v4 NotificationCompat.MediaStyle in the media-compat library's android.support.v4.media package. Use that one if you need MediaStyle.



          API 14+: In Support Library from 26.0.0 and higher, the support-v4 and support-v7 packages both support a minimum API level of 14. The v# names are historical.



          See Recent Support Library Revisions.






          share|improve this answer



























            27














            Call the 2-arg constructor: For compatibility with Android O, call support-v4 NotificationCompat.Builder(Context context, String channelId). When running on Android N or earlier, the channelId will be ignored. When running on Android O, also create a NotificationChannel with the same channelId.



            Out of date sample code: The sample code on several JavaDoc pages such as Notification.Builder calling new Notification.Builder(mContext) is out of date.



            Deprecated constructors: Notification.Builder(Context context) and v4 NotificationCompat.Builder(Context context) are deprecated in favor of Notification[Compat].Builder(Context context, String channelId). (See Notification.Builder(android.content.Context) and v4 NotificationCompat.Builder(Context context).)



            Deprecated class: The entire class v7 NotificationCompat.Builder is deprecated. (See v7 NotificationCompat.Builder.) Previously, v7 NotificationCompat.Builder was needed to support NotificationCompat.MediaStyle. In Android O, there's a v4 NotificationCompat.MediaStyle in the media-compat library's android.support.v4.media package. Use that one if you need MediaStyle.



            API 14+: In Support Library from 26.0.0 and higher, the support-v4 and support-v7 packages both support a minimum API level of 14. The v# names are historical.



            See Recent Support Library Revisions.






            share|improve this answer

























              27












              27








              27







              Call the 2-arg constructor: For compatibility with Android O, call support-v4 NotificationCompat.Builder(Context context, String channelId). When running on Android N or earlier, the channelId will be ignored. When running on Android O, also create a NotificationChannel with the same channelId.



              Out of date sample code: The sample code on several JavaDoc pages such as Notification.Builder calling new Notification.Builder(mContext) is out of date.



              Deprecated constructors: Notification.Builder(Context context) and v4 NotificationCompat.Builder(Context context) are deprecated in favor of Notification[Compat].Builder(Context context, String channelId). (See Notification.Builder(android.content.Context) and v4 NotificationCompat.Builder(Context context).)



              Deprecated class: The entire class v7 NotificationCompat.Builder is deprecated. (See v7 NotificationCompat.Builder.) Previously, v7 NotificationCompat.Builder was needed to support NotificationCompat.MediaStyle. In Android O, there's a v4 NotificationCompat.MediaStyle in the media-compat library's android.support.v4.media package. Use that one if you need MediaStyle.



              API 14+: In Support Library from 26.0.0 and higher, the support-v4 and support-v7 packages both support a minimum API level of 14. The v# names are historical.



              See Recent Support Library Revisions.






              share|improve this answer













              Call the 2-arg constructor: For compatibility with Android O, call support-v4 NotificationCompat.Builder(Context context, String channelId). When running on Android N or earlier, the channelId will be ignored. When running on Android O, also create a NotificationChannel with the same channelId.



              Out of date sample code: The sample code on several JavaDoc pages such as Notification.Builder calling new Notification.Builder(mContext) is out of date.



              Deprecated constructors: Notification.Builder(Context context) and v4 NotificationCompat.Builder(Context context) are deprecated in favor of Notification[Compat].Builder(Context context, String channelId). (See Notification.Builder(android.content.Context) and v4 NotificationCompat.Builder(Context context).)



              Deprecated class: The entire class v7 NotificationCompat.Builder is deprecated. (See v7 NotificationCompat.Builder.) Previously, v7 NotificationCompat.Builder was needed to support NotificationCompat.MediaStyle. In Android O, there's a v4 NotificationCompat.MediaStyle in the media-compat library's android.support.v4.media package. Use that one if you need MediaStyle.



              API 14+: In Support Library from 26.0.0 and higher, the support-v4 and support-v7 packages both support a minimum API level of 14. The v# names are historical.



              See Recent Support Library Revisions.







              share|improve this answer












              share|improve this answer



              share|improve this answer










              answered Aug 9 '17 at 1:15









              Jerry101Jerry101

              5,2311 gold badge22 silver badges37 bronze badges




              5,2311 gold badge22 silver badges37 bronze badges





















                  19














                  Instead of checking for Build.VERSION.SDK_INT >= Build.VERSION_CODES.O as many answers suggest, there is a slightly simpler way -



                  Add the following line to the application section of AndroidManifest.xml file as explained in the Set Up a Firebase Cloud Messaging Client App on Android doc:



                   <meta-data
                  android:name="com.google.firebase.messaging.default_notification_channel_id"
                  android:value="@string/default_notification_channel_id" />


                  Then add a line with a channel name to the values/strings.xml file:



                  <string name="default_notification_channel_id">default</string>


                  After that you will be able to use the new version of NotificationCompat.Builder constructor with 2 parameters (since the old constructor with 1 parameter has been deprecated in Android Oreo):



                  private void sendNotification(String title, String body) 
                  Intent i = new Intent(this, MainActivity.class);
                  i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                  PendingIntent pi = PendingIntent.getActivity(this,
                  0 /* Request code */,
                  i,
                  PendingIntent.FLAG_ONE_SHOT);

                  Uri sound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

                  NotificationCompat.Builder builder = new NotificationCompat.Builder(this,
                  getString(R.string.default_notification_channel_id))
                  .setSmallIcon(R.mipmap.ic_launcher)
                  .setContentTitle(title)
                  .setContentText(body)
                  .setAutoCancel(true)
                  .setSound(sound)
                  .setContentIntent(pi);

                  NotificationManager manager =
                  (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

                  manager.notify(0, builder.build());






                  share|improve this answer

























                  • how is this simpler? :S

                    – Nactus
                    Jan 20 at 1:57















                  19














                  Instead of checking for Build.VERSION.SDK_INT >= Build.VERSION_CODES.O as many answers suggest, there is a slightly simpler way -



                  Add the following line to the application section of AndroidManifest.xml file as explained in the Set Up a Firebase Cloud Messaging Client App on Android doc:



                   <meta-data
                  android:name="com.google.firebase.messaging.default_notification_channel_id"
                  android:value="@string/default_notification_channel_id" />


                  Then add a line with a channel name to the values/strings.xml file:



                  <string name="default_notification_channel_id">default</string>


                  After that you will be able to use the new version of NotificationCompat.Builder constructor with 2 parameters (since the old constructor with 1 parameter has been deprecated in Android Oreo):



                  private void sendNotification(String title, String body) 
                  Intent i = new Intent(this, MainActivity.class);
                  i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                  PendingIntent pi = PendingIntent.getActivity(this,
                  0 /* Request code */,
                  i,
                  PendingIntent.FLAG_ONE_SHOT);

                  Uri sound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

                  NotificationCompat.Builder builder = new NotificationCompat.Builder(this,
                  getString(R.string.default_notification_channel_id))
                  .setSmallIcon(R.mipmap.ic_launcher)
                  .setContentTitle(title)
                  .setContentText(body)
                  .setAutoCancel(true)
                  .setSound(sound)
                  .setContentIntent(pi);

                  NotificationManager manager =
                  (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

                  manager.notify(0, builder.build());






                  share|improve this answer

























                  • how is this simpler? :S

                    – Nactus
                    Jan 20 at 1:57













                  19












                  19








                  19







                  Instead of checking for Build.VERSION.SDK_INT >= Build.VERSION_CODES.O as many answers suggest, there is a slightly simpler way -



                  Add the following line to the application section of AndroidManifest.xml file as explained in the Set Up a Firebase Cloud Messaging Client App on Android doc:



                   <meta-data
                  android:name="com.google.firebase.messaging.default_notification_channel_id"
                  android:value="@string/default_notification_channel_id" />


                  Then add a line with a channel name to the values/strings.xml file:



                  <string name="default_notification_channel_id">default</string>


                  After that you will be able to use the new version of NotificationCompat.Builder constructor with 2 parameters (since the old constructor with 1 parameter has been deprecated in Android Oreo):



                  private void sendNotification(String title, String body) 
                  Intent i = new Intent(this, MainActivity.class);
                  i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                  PendingIntent pi = PendingIntent.getActivity(this,
                  0 /* Request code */,
                  i,
                  PendingIntent.FLAG_ONE_SHOT);

                  Uri sound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

                  NotificationCompat.Builder builder = new NotificationCompat.Builder(this,
                  getString(R.string.default_notification_channel_id))
                  .setSmallIcon(R.mipmap.ic_launcher)
                  .setContentTitle(title)
                  .setContentText(body)
                  .setAutoCancel(true)
                  .setSound(sound)
                  .setContentIntent(pi);

                  NotificationManager manager =
                  (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

                  manager.notify(0, builder.build());






                  share|improve this answer















                  Instead of checking for Build.VERSION.SDK_INT >= Build.VERSION_CODES.O as many answers suggest, there is a slightly simpler way -



                  Add the following line to the application section of AndroidManifest.xml file as explained in the Set Up a Firebase Cloud Messaging Client App on Android doc:



                   <meta-data
                  android:name="com.google.firebase.messaging.default_notification_channel_id"
                  android:value="@string/default_notification_channel_id" />


                  Then add a line with a channel name to the values/strings.xml file:



                  <string name="default_notification_channel_id">default</string>


                  After that you will be able to use the new version of NotificationCompat.Builder constructor with 2 parameters (since the old constructor with 1 parameter has been deprecated in Android Oreo):



                  private void sendNotification(String title, String body) 
                  Intent i = new Intent(this, MainActivity.class);
                  i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                  PendingIntent pi = PendingIntent.getActivity(this,
                  0 /* Request code */,
                  i,
                  PendingIntent.FLAG_ONE_SHOT);

                  Uri sound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

                  NotificationCompat.Builder builder = new NotificationCompat.Builder(this,
                  getString(R.string.default_notification_channel_id))
                  .setSmallIcon(R.mipmap.ic_launcher)
                  .setContentTitle(title)
                  .setContentText(body)
                  .setAutoCancel(true)
                  .setSound(sound)
                  .setContentIntent(pi);

                  NotificationManager manager =
                  (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

                  manager.notify(0, builder.build());







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Mar 30 '18 at 15:29

























                  answered Nov 22 '17 at 15:27









                  Alexander FarberAlexander Farber

                  8,27056 gold badges191 silver badges337 bronze badges




                  8,27056 gold badges191 silver badges337 bronze badges












                  • how is this simpler? :S

                    – Nactus
                    Jan 20 at 1:57

















                  • how is this simpler? :S

                    – Nactus
                    Jan 20 at 1:57
















                  how is this simpler? :S

                  – Nactus
                  Jan 20 at 1:57





                  how is this simpler? :S

                  – Nactus
                  Jan 20 at 1:57











                  14














                  Here is the sample code, which is working in Android Oreo and less than Oreo.



                   NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
                  NotificationCompat.Builder builder = null;
                  if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O)
                  int importance = NotificationManager.IMPORTANCE_DEFAULT;
                  NotificationChannel notificationChannel = new NotificationChannel("ID", "Name", importance);
                  notificationManager.createNotificationChannel(notificationChannel);
                  builder = new NotificationCompat.Builder(getApplicationContext(), notificationChannel.getId());
                  else
                  builder = new NotificationCompat.Builder(getApplicationContext());


                  builder = builder
                  .setSmallIcon(R.drawable.ic_notification_icon)
                  .setColor(ContextCompat.getColor(context, R.color.color))
                  .setContentTitle(context.getString(R.string.getTitel))
                  .setTicker(context.getString(R.string.text))
                  .setContentText(message)
                  .setDefaults(Notification.DEFAULT_ALL)
                  .setAutoCancel(true);
                  notificationManager.notify(requestCode, builder.build());





                  share|improve this answer



























                    14














                    Here is the sample code, which is working in Android Oreo and less than Oreo.



                     NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
                    NotificationCompat.Builder builder = null;
                    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O)
                    int importance = NotificationManager.IMPORTANCE_DEFAULT;
                    NotificationChannel notificationChannel = new NotificationChannel("ID", "Name", importance);
                    notificationManager.createNotificationChannel(notificationChannel);
                    builder = new NotificationCompat.Builder(getApplicationContext(), notificationChannel.getId());
                    else
                    builder = new NotificationCompat.Builder(getApplicationContext());


                    builder = builder
                    .setSmallIcon(R.drawable.ic_notification_icon)
                    .setColor(ContextCompat.getColor(context, R.color.color))
                    .setContentTitle(context.getString(R.string.getTitel))
                    .setTicker(context.getString(R.string.text))
                    .setContentText(message)
                    .setDefaults(Notification.DEFAULT_ALL)
                    .setAutoCancel(true);
                    notificationManager.notify(requestCode, builder.build());





                    share|improve this answer

























                      14












                      14








                      14







                      Here is the sample code, which is working in Android Oreo and less than Oreo.



                       NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
                      NotificationCompat.Builder builder = null;
                      if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O)
                      int importance = NotificationManager.IMPORTANCE_DEFAULT;
                      NotificationChannel notificationChannel = new NotificationChannel("ID", "Name", importance);
                      notificationManager.createNotificationChannel(notificationChannel);
                      builder = new NotificationCompat.Builder(getApplicationContext(), notificationChannel.getId());
                      else
                      builder = new NotificationCompat.Builder(getApplicationContext());


                      builder = builder
                      .setSmallIcon(R.drawable.ic_notification_icon)
                      .setColor(ContextCompat.getColor(context, R.color.color))
                      .setContentTitle(context.getString(R.string.getTitel))
                      .setTicker(context.getString(R.string.text))
                      .setContentText(message)
                      .setDefaults(Notification.DEFAULT_ALL)
                      .setAutoCancel(true);
                      notificationManager.notify(requestCode, builder.build());





                      share|improve this answer













                      Here is the sample code, which is working in Android Oreo and less than Oreo.



                       NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
                      NotificationCompat.Builder builder = null;
                      if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O)
                      int importance = NotificationManager.IMPORTANCE_DEFAULT;
                      NotificationChannel notificationChannel = new NotificationChannel("ID", "Name", importance);
                      notificationManager.createNotificationChannel(notificationChannel);
                      builder = new NotificationCompat.Builder(getApplicationContext(), notificationChannel.getId());
                      else
                      builder = new NotificationCompat.Builder(getApplicationContext());


                      builder = builder
                      .setSmallIcon(R.drawable.ic_notification_icon)
                      .setColor(ContextCompat.getColor(context, R.color.color))
                      .setContentTitle(context.getString(R.string.getTitel))
                      .setTicker(context.getString(R.string.text))
                      .setContentText(message)
                      .setDefaults(Notification.DEFAULT_ALL)
                      .setAutoCancel(true);
                      notificationManager.notify(requestCode, builder.build());






                      share|improve this answer












                      share|improve this answer



                      share|improve this answer










                      answered Nov 16 '17 at 10:13









                      ArpitArpit

                      9099 silver badges16 bronze badges




                      9099 silver badges16 bronze badges





















                          6














                          Simple Sample



                           public void showNotification (String from, String notification, Intent intent) 
                          PendingIntent pendingIntent = PendingIntent.getActivity(
                          context,
                          Notification_ID,
                          intent,
                          PendingIntent.FLAG_UPDATE_CURRENT
                          );


                          String NOTIFICATION_CHANNEL_ID = "my_channel_id_01";
                          NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);


                          if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
                          NotificationChannel notificationChannel = new NotificationChannel(NOTIFICATION_CHANNEL_ID, "My Notifications", NotificationManager.IMPORTANCE_DEFAULT);

                          // Configure the notification channel.
                          notificationChannel.setDescription("Channel description");
                          notificationChannel.enableLights(true);
                          notificationChannel.setLightColor(Color.RED);
                          notificationChannel.setVibrationPattern(new long[]0, 1000, 500, 1000);
                          notificationChannel.enableVibration(true);
                          notificationManager.createNotificationChannel(notificationChannel);



                          NotificationCompat.Builder builder = new NotificationCompat.Builder(context, NOTIFICATION_CHANNEL_ID);
                          Notification mNotification = builder
                          .setContentTitle(from)
                          .setContentText(notification)

                          // .setTicker("Hearty365")
                          // .setContentInfo("Info")
                          // .setPriority(Notification.PRIORITY_MAX)

                          .setContentIntent(pendingIntent)

                          .setAutoCancel(true)
                          // .setDefaults(Notification.DEFAULT_ALL)
                          // .setWhen(System.currentTimeMillis())
                          .setSmallIcon(R.mipmap.ic_launcher)
                          .setLargeIcon(BitmapFactory.decodeResource(context.getResources(), R.mipmap.ic_launcher))
                          .build();

                          notificationManager.notify(/*notification id*/Notification_ID, mNotification);







                          share|improve this answer



























                            6














                            Simple Sample



                             public void showNotification (String from, String notification, Intent intent) 
                            PendingIntent pendingIntent = PendingIntent.getActivity(
                            context,
                            Notification_ID,
                            intent,
                            PendingIntent.FLAG_UPDATE_CURRENT
                            );


                            String NOTIFICATION_CHANNEL_ID = "my_channel_id_01";
                            NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);


                            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
                            NotificationChannel notificationChannel = new NotificationChannel(NOTIFICATION_CHANNEL_ID, "My Notifications", NotificationManager.IMPORTANCE_DEFAULT);

                            // Configure the notification channel.
                            notificationChannel.setDescription("Channel description");
                            notificationChannel.enableLights(true);
                            notificationChannel.setLightColor(Color.RED);
                            notificationChannel.setVibrationPattern(new long[]0, 1000, 500, 1000);
                            notificationChannel.enableVibration(true);
                            notificationManager.createNotificationChannel(notificationChannel);



                            NotificationCompat.Builder builder = new NotificationCompat.Builder(context, NOTIFICATION_CHANNEL_ID);
                            Notification mNotification = builder
                            .setContentTitle(from)
                            .setContentText(notification)

                            // .setTicker("Hearty365")
                            // .setContentInfo("Info")
                            // .setPriority(Notification.PRIORITY_MAX)

                            .setContentIntent(pendingIntent)

                            .setAutoCancel(true)
                            // .setDefaults(Notification.DEFAULT_ALL)
                            // .setWhen(System.currentTimeMillis())
                            .setSmallIcon(R.mipmap.ic_launcher)
                            .setLargeIcon(BitmapFactory.decodeResource(context.getResources(), R.mipmap.ic_launcher))
                            .build();

                            notificationManager.notify(/*notification id*/Notification_ID, mNotification);







                            share|improve this answer

























                              6












                              6








                              6







                              Simple Sample



                               public void showNotification (String from, String notification, Intent intent) 
                              PendingIntent pendingIntent = PendingIntent.getActivity(
                              context,
                              Notification_ID,
                              intent,
                              PendingIntent.FLAG_UPDATE_CURRENT
                              );


                              String NOTIFICATION_CHANNEL_ID = "my_channel_id_01";
                              NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);


                              if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
                              NotificationChannel notificationChannel = new NotificationChannel(NOTIFICATION_CHANNEL_ID, "My Notifications", NotificationManager.IMPORTANCE_DEFAULT);

                              // Configure the notification channel.
                              notificationChannel.setDescription("Channel description");
                              notificationChannel.enableLights(true);
                              notificationChannel.setLightColor(Color.RED);
                              notificationChannel.setVibrationPattern(new long[]0, 1000, 500, 1000);
                              notificationChannel.enableVibration(true);
                              notificationManager.createNotificationChannel(notificationChannel);



                              NotificationCompat.Builder builder = new NotificationCompat.Builder(context, NOTIFICATION_CHANNEL_ID);
                              Notification mNotification = builder
                              .setContentTitle(from)
                              .setContentText(notification)

                              // .setTicker("Hearty365")
                              // .setContentInfo("Info")
                              // .setPriority(Notification.PRIORITY_MAX)

                              .setContentIntent(pendingIntent)

                              .setAutoCancel(true)
                              // .setDefaults(Notification.DEFAULT_ALL)
                              // .setWhen(System.currentTimeMillis())
                              .setSmallIcon(R.mipmap.ic_launcher)
                              .setLargeIcon(BitmapFactory.decodeResource(context.getResources(), R.mipmap.ic_launcher))
                              .build();

                              notificationManager.notify(/*notification id*/Notification_ID, mNotification);







                              share|improve this answer













                              Simple Sample



                               public void showNotification (String from, String notification, Intent intent) 
                              PendingIntent pendingIntent = PendingIntent.getActivity(
                              context,
                              Notification_ID,
                              intent,
                              PendingIntent.FLAG_UPDATE_CURRENT
                              );


                              String NOTIFICATION_CHANNEL_ID = "my_channel_id_01";
                              NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);


                              if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
                              NotificationChannel notificationChannel = new NotificationChannel(NOTIFICATION_CHANNEL_ID, "My Notifications", NotificationManager.IMPORTANCE_DEFAULT);

                              // Configure the notification channel.
                              notificationChannel.setDescription("Channel description");
                              notificationChannel.enableLights(true);
                              notificationChannel.setLightColor(Color.RED);
                              notificationChannel.setVibrationPattern(new long[]0, 1000, 500, 1000);
                              notificationChannel.enableVibration(true);
                              notificationManager.createNotificationChannel(notificationChannel);



                              NotificationCompat.Builder builder = new NotificationCompat.Builder(context, NOTIFICATION_CHANNEL_ID);
                              Notification mNotification = builder
                              .setContentTitle(from)
                              .setContentText(notification)

                              // .setTicker("Hearty365")
                              // .setContentInfo("Info")
                              // .setPriority(Notification.PRIORITY_MAX)

                              .setContentIntent(pendingIntent)

                              .setAutoCancel(true)
                              // .setDefaults(Notification.DEFAULT_ALL)
                              // .setWhen(System.currentTimeMillis())
                              .setSmallIcon(R.mipmap.ic_launcher)
                              .setLargeIcon(BitmapFactory.decodeResource(context.getResources(), R.mipmap.ic_launcher))
                              .build();

                              notificationManager.notify(/*notification id*/Notification_ID, mNotification);








                              share|improve this answer












                              share|improve this answer



                              share|improve this answer










                              answered Jan 30 '18 at 12:32









                              MehulMehul

                              1,66111 silver badges24 bronze badges




                              1,66111 silver badges24 bronze badges





















                                  2














                                  Notification notification = new Notification.Builder(MainActivity.this)
                                  .setContentTitle("New Message")
                                  .setContentText("You've received new messages.")
                                  .setSmallIcon(R.drawable.ic_notify_status)
                                  .setChannelId(CHANNEL_ID)
                                  .build();


                                  Right code will be :



                                  Notification.Builder notification=new Notification.Builder(this)


                                  with dependency 26.0.1 and new updated dependencies such as 28.0.0.



                                  Some users use this code in the form of this :



                                  Notification notification=new NotificationCompat.Builder(this)//this is also wrong code.


                                  So Logic is that which Method you will declare or initilize then the same methode on Right side will be use for Allocation. if in Leftside of = you will use some method then the same method will be use in right side of = for Allocation with new.



                                  Try this code...It will sure work






                                  share|improve this answer





























                                    2














                                    Notification notification = new Notification.Builder(MainActivity.this)
                                    .setContentTitle("New Message")
                                    .setContentText("You've received new messages.")
                                    .setSmallIcon(R.drawable.ic_notify_status)
                                    .setChannelId(CHANNEL_ID)
                                    .build();


                                    Right code will be :



                                    Notification.Builder notification=new Notification.Builder(this)


                                    with dependency 26.0.1 and new updated dependencies such as 28.0.0.



                                    Some users use this code in the form of this :



                                    Notification notification=new NotificationCompat.Builder(this)//this is also wrong code.


                                    So Logic is that which Method you will declare or initilize then the same methode on Right side will be use for Allocation. if in Leftside of = you will use some method then the same method will be use in right side of = for Allocation with new.



                                    Try this code...It will sure work






                                    share|improve this answer



























                                      2












                                      2








                                      2







                                      Notification notification = new Notification.Builder(MainActivity.this)
                                      .setContentTitle("New Message")
                                      .setContentText("You've received new messages.")
                                      .setSmallIcon(R.drawable.ic_notify_status)
                                      .setChannelId(CHANNEL_ID)
                                      .build();


                                      Right code will be :



                                      Notification.Builder notification=new Notification.Builder(this)


                                      with dependency 26.0.1 and new updated dependencies such as 28.0.0.



                                      Some users use this code in the form of this :



                                      Notification notification=new NotificationCompat.Builder(this)//this is also wrong code.


                                      So Logic is that which Method you will declare or initilize then the same methode on Right side will be use for Allocation. if in Leftside of = you will use some method then the same method will be use in right side of = for Allocation with new.



                                      Try this code...It will sure work






                                      share|improve this answer















                                      Notification notification = new Notification.Builder(MainActivity.this)
                                      .setContentTitle("New Message")
                                      .setContentText("You've received new messages.")
                                      .setSmallIcon(R.drawable.ic_notify_status)
                                      .setChannelId(CHANNEL_ID)
                                      .build();


                                      Right code will be :



                                      Notification.Builder notification=new Notification.Builder(this)


                                      with dependency 26.0.1 and new updated dependencies such as 28.0.0.



                                      Some users use this code in the form of this :



                                      Notification notification=new NotificationCompat.Builder(this)//this is also wrong code.


                                      So Logic is that which Method you will declare or initilize then the same methode on Right side will be use for Allocation. if in Leftside of = you will use some method then the same method will be use in right side of = for Allocation with new.



                                      Try this code...It will sure work







                                      share|improve this answer














                                      share|improve this answer



                                      share|improve this answer








                                      edited May 26 '18 at 14:19









                                      Tim Diekmann

                                      3,7319 gold badges20 silver badges40 bronze badges




                                      3,7319 gold badges20 silver badges40 bronze badges










                                      answered May 26 '18 at 13:56









                                      Pradeep SheoranPradeep Sheoran

                                      18611 bronze badges




                                      18611 bronze badges





















                                          1














                                          This constructor was deprecated in API level 26.1.0.
                                          use NotificationCompat.Builder(Context, String) instead. All posted Notifications must specify a NotificationChannel Id.






                                          share|improve this answer























                                          • Maybe rather add a comment with link to the documentation instead of copy cat and posting as an answer.

                                            – JacksOnF1re
                                            Oct 4 '18 at 14:58















                                          1














                                          This constructor was deprecated in API level 26.1.0.
                                          use NotificationCompat.Builder(Context, String) instead. All posted Notifications must specify a NotificationChannel Id.






                                          share|improve this answer























                                          • Maybe rather add a comment with link to the documentation instead of copy cat and posting as an answer.

                                            – JacksOnF1re
                                            Oct 4 '18 at 14:58













                                          1












                                          1








                                          1







                                          This constructor was deprecated in API level 26.1.0.
                                          use NotificationCompat.Builder(Context, String) instead. All posted Notifications must specify a NotificationChannel Id.






                                          share|improve this answer













                                          This constructor was deprecated in API level 26.1.0.
                                          use NotificationCompat.Builder(Context, String) instead. All posted Notifications must specify a NotificationChannel Id.







                                          share|improve this answer












                                          share|improve this answer



                                          share|improve this answer










                                          answered May 4 '18 at 6:38









                                          Sandeep SinghSandeep Singh

                                          6096 silver badges19 bronze badges




                                          6096 silver badges19 bronze badges












                                          • Maybe rather add a comment with link to the documentation instead of copy cat and posting as an answer.

                                            – JacksOnF1re
                                            Oct 4 '18 at 14:58

















                                          • Maybe rather add a comment with link to the documentation instead of copy cat and posting as an answer.

                                            – JacksOnF1re
                                            Oct 4 '18 at 14:58
















                                          Maybe rather add a comment with link to the documentation instead of copy cat and posting as an answer.

                                          – JacksOnF1re
                                          Oct 4 '18 at 14:58





                                          Maybe rather add a comment with link to the documentation instead of copy cat and posting as an answer.

                                          – JacksOnF1re
                                          Oct 4 '18 at 14:58





                                          protected by Nilesh Rathod Jun 19 '18 at 5:24



                                          Thank you for your interest in this question.
                                          Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).



                                          Would you like to answer one of these unanswered questions instead?



                                          Popular posts from this blog

                                          Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

                                          Swift 4 - func physicsWorld not invoked on collision? The Next CEO of Stack OverflowHow to call Objective-C code from Swift#ifdef replacement in the Swift language@selector() in Swift?#pragma mark in Swift?Swift for loop: for index, element in array?dispatch_after - GCD in Swift?Swift Beta performance: sorting arraysSplit a String into an array in Swift?The use of Swift 3 @objc inference in Swift 4 mode is deprecated?How to optimize UITableViewCell, because my UITableView lags

                                          Access current req object everywhere in Node.js ExpressWhy are global variables considered bad practice? (node.js)Using req & res across functionsHow do I get the path to the current script with Node.js?What is Node.js' Connect, Express and “middleware”?Node.js w/ express error handling in callbackHow to access the GET parameters after “?” in Express?Modify Node.js req object parametersAccess “app” variable inside of ExpressJS/ConnectJS middleware?Node.js Express app - request objectAngular Http Module considered middleware?Session variables in ExpressJSAdd properties to the req object in expressjs with Typescript