本示例演示了如何在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()) ; }}
点击 这里 下载项目代码