Computer >> 컴퓨터 >  >> 프로그램 작성 >> Android

Android에서 PUSH 알림을 받은 후 활동을 여는 방법은 무엇입니까?

<시간/>

이 예는 Android에서 PUSH 알림을 받은 후 활동을 여는 방법을 보여줍니다.

1단계 − Android Studio에서 새 프로젝트를 생성하고 파일 ⇒ 새 프로젝트로 이동하여 필요한 모든 세부 정보를 입력하여 새 프로젝트를 생성합니다.

2단계 − 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()) ;
   }
}