Theoretical Paper
- Computer Organization
- Data Structure
- Digital Electronics
- Object Oriented Programming
- Discrete Mathematics
- Graph Theory
- Operating Systems
- Software Engineering
- Computer Graphics
- Database Management System
- Operation Research
- Computer Networking
- Image Processing
- Internet Technologies
- Micro Processor
- E-Commerce & ERP
- Dart Programming
- Flutter Tutorial
- Numerical Methods Tutorials
- Flutter Tutorials
- Kotlin Tutorial
Practical Paper
Industrial Training
Android Notification
Android Notification provides short, timely information about the action happened in the application, even it is not running. The notification displays the icon, title and some amount of the content text.
Set Android Notification Properties
The properties of Android notification are set using NotificationCompat.Builder object. Some of the notification properties are mentioned below:
- setSmallIcon(): it sets the icon of notification.
- setContentTitle(): it is used to set the title of notification.
- setContentText(): it is used to set the text message.
- setAutoCancel(): it sets the cancelable property of notification.
- setPriority(): it sets the priority of notification.
Android Notification Example
In this example, we will create a notification message and clicking on it launches another activity.
activity_main.xml
Add the following code in an activity_main.xml file.
< ?xml version="1.0" encoding="utf-8"?> < android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="example.javatpoint.com.androidnotification.MainActivity"> < TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="ANDROID NOTIFICATION" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.091" android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium"/> < Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/button" android:layout_marginBottom="112dp" android:layout_marginEnd="8dp" android:layout_marginStart="8dp" android:text="Notify" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" /> < /android.support.constraint.ConstraintLayout> < ?xml version="1.0" encoding="utf-8"?> < android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="example.javatpoint.com.androidnotification.MainActivity"> < TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="ANDROID NOTIFICATION" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.091" android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium"/> < Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/button" android:layout_marginBottom="112dp" android:layout_marginEnd="8dp" android:layout_marginStart="8dp" android:text="Notify" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" /> < /android.support.constraint.ConstraintLayout>
Create an activity named as activity_notification_view.xml and add the following code. This activity will launch on clicking the notification. TextView is used to display the notification message.
activity_notification_view.xml
< ?xml version="1.0" encoding="utf-8"?> < android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="example.javatpoint.com.androidnotification.NotificationView"> < TextView android:id="@+id/textView2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:text="your detail of notification..." android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium" /> < TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="8dp" android:layout_marginEnd="8dp" android:layout_marginStart="8dp" android:layout_marginTop="8dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.096" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/textView2" app:layout_constraintVertical_bias="0.206" android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium"/> < /android.support.constraint.ConstraintLayout> < ?xml version="1.0" encoding="utf-8"?> < android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="example.javatpoint.com.androidnotification.NotificationView"> < TextView android:id="@+id/textView2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:text="your detail of notification..." android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium" /> < TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="8dp" android:layout_marginEnd="8dp" android:layout_marginStart="8dp" android:layout_marginTop="8dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.096" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/textView2" app:layout_constraintVertical_bias="0.206" android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium"/> < /android.support.constraint.ConstraintLayout>
MainActivity.java
Add the following code in the MainActivity.java class. In this class, clicking the button calls the addNotification() method where we implement the NotificationCompat.Builder object to set the notification properties. The NotificationManager.notify() method is used to display the notification. The Intent class is used to call another activity (NotificationView.java) on taping the notification.
package example.javatpoint.com.androidnotification; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.support.v4.app.NotificationCompat; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity { Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { addNotification(); } }); } private void addNotification() { NotificationCompat.Builder builder = new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.messageicon) //set icon for notification .setContentTitle("Notifications Example") //set title of notification .setContentText("This is a notification message")//this is notification message .setAutoCancel(true) // makes auto cancel of notification .setPriority(NotificationCompat.PRIORITY_DEFAULT); //set priority of notification Intent notificationIntent = new Intent(this, NotificationView.class); notificationIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); //notification message will get at NotificationView notificationIntent.putExtra("message", "This is a notification message"); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT); builder.setContentIntent(pendingIntent); // Add as notification NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); manager.notify(0, builder.build()); } } package example.javatpoint.com.androidnotification; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.support.v4.app.NotificationCompat; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity { Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { addNotification(); } }); } private void addNotification() { NotificationCompat.Builder builder = new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.messageicon) //set icon for notification .setContentTitle("Notifications Example") //set title of notification .setContentText("This is a notification message")//this is notification message .setAutoCancel(true) // makes auto cancel of notification .setPriority(NotificationCompat.PRIORITY_DEFAULT); //set priority of notification Intent notificationIntent = new Intent(this, NotificationView.class); notificationIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); //notification message will get at NotificationView notificationIntent.putExtra("message", "This is a notification message"); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT); builder.setContentIntent(pendingIntent); // Add as notification NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); manager.notify(0, builder.build()); } }
NotificationView.java
The NotificationView.java class receives the notification message and displays in TextView. This class is invoked while taping the notification.
package example.javatpoint.com.androidnotification; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.TextView; import android.widget.Toast; public class NotificationView extends AppCompatActivity { TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_notification_view); textView = findViewById(R.id.textView); //getting the notification message String message=getIntent().getStringExtra("message"); textView.setText(message); } } package example.javatpoint.com.androidnotification; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.TextView; import android.widget.Toast; public class NotificationView extends AppCompatActivity { TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_notification_view); textView = findViewById(R.id.textView); //getting the notification message String message=getIntent().getStringExtra("message"); textView.setText(message); } }
strings.xml
< resources> < string name="app_name">AndroidNotification< /string> < string name="notification_activity">NotificationView< /string> < /resources> < resources> < string name="app_name">AndroidNotification< /string> < string name="notification_activity">NotificationView< /string> < /resources>
AndroidManifest.xml
Add the following code in AndroidManifest.xml file.
< ?xml version="1.0" encoding="utf-8"?> < manifest xmlns:android="http://schemas.android.com/apk/res/android" package="example.javatpoint.com.androidnotification"> < application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> < activity android:name=".MainActivity"> < intent-filter> < action android:name="android.intent.action.MAIN" /> < category android:name="android.intent.category.LAUNCHER" /> < /intent-filter> < /activity> < activity android:name=".NotificationView" android:label="@string/notification_activity" android:parentActivityName=".MainActivity"> < meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".MainActivity"/> < /activity> < /application> < /manifest> < ?xml version="1.0" encoding="utf-8"?> < manifest xmlns:android="http://schemas.android.com/apk/res/android" package="example.javatpoint.com.androidnotification"> < application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> < activity android:name=".MainActivity"> < intent-filter> < action android:name="android.intent.action.MAIN" /> < category android:name="android.intent.category.LAUNCHER" /> < /intent-filter> < /activity> < activity android:name=".NotificationView" android:label="@string/notification_activity" android:parentActivityName=".MainActivity"> < meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".MainActivity"/> < /activity> < /application> < /manifest>
Output: