Computer >> Máy Tính >  >> Lập trình >> Android

Làm cách nào để mở một hoạt động sau khi nhận được thông báo PUSH trong Android?

Ví dụ này minh họa về Cách mở một hoạt động sau khi nhận được thông báo PUSH trong Android

Bước 1 - Tạo một dự án mới trong Android Studio, đi tới Tệp ⇒ Dự án Mới và điền tất cả các chi tiết cần thiết để tạo một dự án mới.

Bước 2 - Thêm mã sau vào 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 = (NotificationManager) getSystemService(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()) ;
   }
}