0

Firebase를 설정 한 후 Firebase 콘솔로 생성 된 알림을 수신하고 클릭하면 내 애플리케이션에서 매니페스트에 선언 된 firstactivity을 엽니 다.Android 알림이 항상 열림 MainActivity

firstactivity이 부모 인 특정 detailactivity을 열고 싶습니다.

내 매니페스트 :

... 
    <activity 
     android:parentActivityName=".views.main.MainActivity" 
     android:name=".views.detail.DetailActivity" 
     android:screenOrientation="portrait"> 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value=".views.main.MainActivity" /> 
    </activity> 
.... 

내 사용자 정의 FirebaseMessagingService :

응용 프로그램이 닫힐 때 나는 알림을 수신하는 경우
Intent i = new Intent(this, DetailActivity.class); 
    Intent intent2 = new Intent(this, MainActivity.class); 
    i.putExtra(ProfileDescriptionActivity.USER_ID, 14); 
    TaskStackBuilder stackBuilder = TaskStackBuilder.create(this); 
    stackBuilder.addParentStack(ProfileDescriptionActivity.class); 
    stackBuilder.addNextIntentWithParentStack(intent2); 
    stackBuilder.addNextIntent(i); 
PendingIntent pendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT); 

    NotificationCompat.Builder builder = new NotificationCompat.Builder(this) 
      .setAutoCancel(true) 
      .setDefaults(Notification.DEFAULT_SOUND) 
      .setContentTitle(title) 
      .setContentText(message) 
      .setSmallIcon(R.drawable.ic_notification) 
      .setContentIntent(pendingIntent); 

    NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 
    manager.notify(0, builder.build()); 

가 올바르게 알림 트레이에 알림을 표시합니다. 그러나 내가 열었을 때, 위로 말하면서, firstactivity.

응용 프로그램이 열려 있고 알림을 받으면 알림 센터에 원하는 활동이 올바르게 열리는 빈보기가 표시됩니다.

무엇이 잘못 되었나요? 감사.

+0

푸시 메시지 유형 (데이터 또는 알림)에 실수를하는 중일 수 있습니다. 서버가 앱에 보내는 페이로드를 게시합니다. – BMacedo

답변

0

FCM을 통해 응용 프로그램을 자동으로 열려면 onMessageReceived() 메서드를 항상 호출하는 data-message 메서드를 사용해야합니다.

예를 들어, 귀하의 페이로드가 될 수있다 :이 메시지를 전송 테스트하기 위해

{ 
    "to" : "APA91bHun4MxP5egoKMwt2KZFBaFUH-1RYqx...", 
    "notification" : { 
     "body" : "great match!", 
     "title" : "Portugal vs. Denmark", 
     "icon" : "myicon" 
    }, 
    "data" : { 
     "Nick" : "Mario", 
     "Room" : "PortugalVSDenmark" 
    } 
    } 

, 당신은 this로 모든 온라인 FCM 테스터를 사용할 수 있습니다.

관련 문제