Existem algumas perguntas semelhantes no Stack Overflow, mas são para retomar uma atividade pausada clicando em notificação. Isso já funciona para mim.
Estou trabalhando em um aplicativo de chamada de vídeo/áudio e, se eu minimizar meu aplicativo enquanto o serviço em primeiro plano estiver em execução, se eu clicar na notificação, minha atividade será retomada e funcionará bem.
Consegui esse comportamento por este código:
val notificationIntent = Intent(this, VoiceCallActivity::class.java)
notificationIntent.setAction(Intent.ACTION_MAIN)
notificationIntent.addCategory(Intent.CATEGORY_LAUNCHER)
notificationIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
notificationIntent.flags = Intent.FLAG_ACTIVITY_SINGLE_TOP
val notificationPendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0)
val notification = NotificationCompat.Builder(this, "call")
.setSmallIcon(R.drawable.logo_talkify)
.setContentTitle(title)
.setContentIntent(notificationPendingIntent)
.setContentText("Ongoing call")
.setUsesChronometer(true)
.build()
startForeground(1, notification)
Agora, o problema é que vamos supor que o usuário fechou o aplicativo recentemente (o que destruirá a atividade da chamada) enquanto uma chamada estava em andamento. Agora, se o usuário clicar na notificação, ele deverá retomar a atividade em vez de recriá-la. Porque esse é o comportamento esperado. Mas não consigo fazer isso e tentei procurar uma solução para isso, mas ainda não encontrei nenhuma.
Como posso conseguir isso?