Возобновление фонового приложения из уведомления - PullRequest
0 голосов
/ 08 марта 2019

У меня проблема с обработкой уведомлений, когда приложение в фоновом режиме.В настоящее время, когда я помещаю приложение в фоновом режиме после нажатия на уведомление, оно запускает первое действие, определенное в манифесте (в моем случае это LoginActivity).Я хочу, чтобы он выдвигал другие действия на передний план, если он запущен.

Ниже приведено объявление моей активности в манифесте

    <activity
        android:name=".features.login.LoginActivity"
        android:label="@string/app_name"
        android:launchMode="singleTop"
        android:screenOrientation="portrait"
        android:theme="@style/AppTheme.NoActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>
    <activity
        android:name="co.blastlab.expo.features.event.EventActivity"
        android:launchMode="singleTop"
        android:screenOrientation="portrait"
        android:theme="@style/AppTheme.NoActionBar"/>

А здесь ниже у меня есть метод sendNotification.

private fun sendNotification(remoteMessage: RemoteMessage) {
    val notification = remoteMessage.notification
    val intent = Intent(this, EventActivity::class.java)
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
    val pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_ONE_SHOT)

    val defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)
    val notificationBuilder = NotificationCompat.Builder(this, defaultChannel)
            .setLargeIcon(BitmapFactory.decodeResource(resources, R.mipmap.launcher_48dp))
            .setSmallIcon(R.drawable.icon)
            .setContentTitle(notification!!.title)
            .setContentText(notification.body)
            .setAutoCancel(true)
            .setSound(defaultSoundUri)
            .setChannelId(defaultChannel)
            .setContentIntent(pendingIntent)

    val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
    notificationManager.notify(0, notificationBuilder.build())
}

Понятия не имею, куда идти дальше.

...