How to open an activity after receiving a PUSH notification in Android?


This example demonstrate about How to open an activity after receiving a PUSH notification in Android

Step 1 − Create a new project in Android Studio, go to File ⇒ New Project and fill all required details to create a new project.

Step 2 − Add the following code to src/MyFirebaseMessagingService.java

package app.tutorialspoint.com.notifyme ;
import android.app.NotificationChannel ;
import android.app.NotificationManager ;
import android.app.PendingIntent ;
import android.content.Context ;
import android.content.Intent ;
import android.support.v4.app.NotificationCompat ;
import com.google.firebase.messaging.FirebaseMessagingService ;
import com.google.firebase.messaging.RemoteMessage ;
public class MyFirebaseMessagingService extends FirebaseMessagingService {
   public static final String NOTIFICATION_CHANNEL_ID = "10001" ;
   private final static String default_notification_channel_id = "default" ;
   @Override
   public void onNewToken (String s) {
      super .onNewToken(s) ;
   }
   @Override
   public void onMessageReceived (RemoteMessage remoteMessage) {
      super .onMessageReceived(remoteMessage) ;
      Intent notificationIntent = new Intent(getApplicationContext() MainActivity. class ) ;
      notificationIntent.putExtra( "NotificationMessage" , "I am from Notification" ) ;
      notificationIntent.addCategory(Intent. CATEGORY_LAUNCHER ) ;
      notificationIntent.setAction(Intent. ACTION_MAIN ) ;
      notificationIntent.setFlags(Intent. FLAG_ACTIVITY_CLEAR_TOP Intent. FLAG_ACTIVITY_SINGLE_TOP ) ;
      PendingIntent resultIntent = PendingIntent. getActivity (getApplicationContext() 0 , notificationIntent , 0 ) 
      NotificationCompat.Builder mBuilder new NotificationCompat.Builder(getApplicationContext() 
         default_notification_channel_id )
         .setSmallIcon(R.drawable. ic_launcher_foreground )
         .setContentTitle( "Test" )
         .setContentText( "Hello! This is my first push notification" )
         .setContentIntent(resultIntent) ;
      NotificationManager mNotificationManager = (NotificationManagergetSystemService(Context. NOTIFICATION_SERVICE ) ;
      if (android.os.Build.VERSION. SDK_INT >= android.os.Build.VERSION_CODES. O ) {
         int importance = NotificationManager. IMPORTANCE_HIGH ;
         NotificationChannel notificationChannel = new
         NotificationChannel( NOTIFICATION_CHANNEL_ID , "NOTIFICATION_CHANNEL_NAME" , importance) ;
         mBuilder.setChannelId( NOTIFICATION_CHANNEL_ID ) ;
         assert mNotificationManager != null;
         mNotificationManager.createNotificationChannel(notificationChannel) ;
      }
      assert mNotificationManager != null;
      mNotificationManager.notify(( int ) System. currentTimeMillis () ,
      mBuilder.build()) ;
   }
}

Click  here  to download the project code

raja
Published on 16-May-2019 15:42:12
Advertisements