Sobes.tech
Junior — Middle

Consegues dar um exemplo de utilização de serviços que funcionam em primeiro plano no Android?

sobes.tech IA

Resposta da IA

Os serviços em primeiro plano (foreground services) no Android são utilizados para executar tarefas que devem continuar mesmo quando o aplicativo está minimizado, e o utilizador deve ver uma notificação sobre o funcionamento do serviço.

Exemplos de uso:

  • Reprodutor de música — reprodução de música em segundo plano com controlo na notificação.
  • Aplicações de navegação — fornecer instruções de navegação em segundo plano.
  • Descarregadores de ficheiros — descarregamentos prolongados com visualização do progresso.

Exemplo de criação de um serviço em primeiro plano com notificação:

class MyForegroundService : Service() {
    override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
        val notification = NotificationCompat.Builder(this, CHANNEL_ID)
            .setContentTitle("Serviço em execução")
            .setContentText("Uma tarefa importante está a ser realizada")
            .setSmallIcon(R.drawable.ic_service_icon)
            .build()

        startForeground(1, notification)

        // Lógica do serviço

        return START_STICKY
    }

    override fun onBind(intent: Intent?): IBinder? = null
}

É importante que o serviço em primeiro plano mostre uma notificação para que o utilizador seja informado do seu funcionamento.