Android – Iniciar Service no boot (How to auto-start services on boot)

inicializando

Um Service é um componente de aplicação que pode executar operações de longa duração em segundo plano e não fornece uma interface ao usuário. Outro componente do aplicativo pode iniciar um serviço funcionando em segundo plano, mesmo se o usuário mudar para outro aplicativo. Além disso, um componente pode se ligar a um serviço para interagir com ele e até mesmo realizar a comunicação entre processos (IPC). Por exemplo, um serviço pode lidar com transações de rede, tocar música, executar  arquivo de I/O, ou interagir com um provedor de conteúdo.

Porem a questão é: “Como iniciar um service no boot do Android?”

Neste caso precisamos de um Service e de um BroadcastReceiver que receberá a notificação do boot do sistema. Neste exemplo vamos criar duas classes: Servico.java e BootReceiver.java.

Veja abaixo como vai ficar nosso arquivo Manifest:


       [...<application>...]

        <service android:name=".Service" />

        <receiver android:name=".BootReciever">
            <intent-filter >
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
            </intent-filter>
        </receiver>

       [...</application>...]

    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

Acima declaramos nosso Service, BootReceiver e a permissão de RECEIVE BOOT. Note que nosso receiver contem o intent-filter com a ação de BOOT_COMPLETED, é esta tag que vai ficar ‘ouvindo’ o boot do sistema terminar, assim chamando o BootReceiver.

Abaixo segue a classe BootReceiver:

public class BootReciever extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        Intent myIntent = new Intent(context, Service.class);
        context.startService(myIntent);
    }
}

Segue projeto exemplo: (aqui)

Help DEV – Analista desenvolvedor Java / Android
https://helpdev.com.br/zarelli

5 thoughts on “Android – Iniciar Service no boot (How to auto-start services on boot)

  1. Pingback: Think Different – Develop | Android – Iniciar Service no boot (How to auto-start services on boot)

  2. Boa noite, cara segui os seus passos, mas infelizmente, na hora que abre o meu aparelho ele vem bloqueado, somente após o desbloqueio e que aparece a minha aplicação, essa classe BootReciever teria que ser chamado em algum lugar, ou somente criado ela, se puder me ajudar… desde ja agradeço a sua atenção.

Deixe uma resposta para Rodrigo Sozi Kauling Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.