在Android中收到PUSH通知后如何打开活动?

本示例演示了如何在Android中收到PUSH通知后如何打开活动

步骤1-在Android Studio中创建一个新项目,转到File⇒New Project并填写所有必需的详细信息以创建一个新项目。

第2步-将以下代码添加到src / MyFirebaseMessagingService.java

package app.(niaoge.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()) ;   }}

点击 这里 下载项目代码