Я пытаюсь настроить свое уведомление, чтобы оно приводило непосредственно к определенной деятельности.Я выполнил шаги, изложенные в официальной документации .Но если щелкнуть уведомление, откроется только главный лаунчер приложения.
Деятельность, которую я пытаюсь запустить с помощью уведомления, - это DetailActivity.
Вот так я настроил иерархию действий вмой manifest.xml
<activity
android:name=".SplashscreenActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".HomeActivity"
android:parentActivityName=".SplashscreenActivity"/>
<activity
android:name=".DetailActivity"
android:parentActivityName=".HomeActivity"/>
В моем методе onMessageReceived
класса FirebaseMessagingService
у меня есть следующее:
Intent resultIntent = new Intent(this, DetailActivity.class);
// Create the TaskStackBuilder and add the intent, which inflates the back stack
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
stackBuilder.addNextIntentWithParentStack(resultIntent);
// Get the PendingIntent containing the entire back stack
PendingIntent intent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
mNotificationManager.notify(
NOTIFICATION_ID,
getNotification("title", "text", intent)
);
Метод getNotification
:
private Notification getNotification(String title, String text, PendingIntent intent) {
return new NotificationCompat.Builder(this, CHANNEL_ID)
.setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle(title)
.setContentText(text)
.setContentIntent(intent)
.setOngoing(true)
.build();
}
Я не знаю, заключается ли эта проблема в том, что действие, которое я пытаюсь запустить, не является прямым потомком действия средства запуска.И я не уверен, как отладить это тоже.Надеюсь, что кто-то сталкивался с этой странной проблемой раньше!