안녕하세요.
fcm 알림이 오면 system tray에 알림리스트에도 나오고 head-up notification도 화면에 나오게
아래 코드 처럼 구성했습니다.
그런데, 앱이 실행중이면 head-up notification이 잘 나오는데 앱이 실행중이 아니거나 백그라운드로 가면
head-up notification이 fcm알림이 도착해도 화면에 띄워지지 않습니다. 왜 그럴까요?
public class MyFirebaseMessagingService extends FirebaseMessagingService {
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
Map<String, String> data = remoteMessage.getData();
sendNotification(remoteMessage);
}
private void sendNotification(RemoteMessage message) {
Intent push = new Intent(this, SplashActivity.class);
push.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
| Intent.FLAG_ACTIVITY_CLEAR_TASK
| Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent fullScreenPendingIntent = PendingIntent.getActivity(this, 0, push, PendingIntent.FLAG_CANCEL_CURRENT);
NotificationCompat.Builder builder = (NotificationCompat.Builder) new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setWhen(System.currentTimeMillis())
.setContentTitle("test")
.setContentText(message.getNotification().getBody())
.setCategory(NotificationCompat.CATEGORY_MESSAGE)
.setVibrate(new long[] {0})
.setAutoCancel(true)
.setPriority(NotificationCompat.PRIORITY_HIGH)
.setContentIntent(fullScreenPendingIntent);
NotificationManager nm =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
nm.notify(1, builder.build());
}
}