109 votos

Android-Iniciar el Servicio en el Momento del Arranque

Necesito para iniciar un servicio en el momento del arranque. He buscado mucho. Ellos son un listado acerca de Broadcastreceiver. Como soy nueva en el desarrollo de android, yo no obtener una imagen clara acerca de los servicios en android. Por favor me proporcione algún código fuente.

Gracias de antemano.

192voto

Vladimir Ivanov Puntos 23731

Su receptor:

public class MyReceiver extends BroadcastReceiver {   

    @Override
    public void onReceive(Context context, Intent intent) {

     Intent myIntent = new Intent(context, YourService.class);
     context.startService(myIntent);
    }
}

Su AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.broadcast.receiver.example"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true">

        <activity android:name=".BR_Example"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    <!-- Declaring broadcast receiver for BOOT_COMPLETED event -->
        <receiver android:name=".MyReceiver " android:enabled="true" android:exported="false">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
            </intent-filter>
        </receiver>

    </application>

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

</manifest>

95voto

Peter Knego Puntos 57985

Crear un BroadcastReceiver y registrarlo para recibir ACTION_BOOT_COMPLETED. Usted también necesita RECEIVE_BOOT_COMPLETED permiso.

Leer: Escuchar y Radiodifusión Global de los Mensajes y la Configuración de las Alarmas

32voto

jjoe64 Puntos 3260

La solución Simple e inteligente:

--> Servicio de inicio automático en el Dispositivo de Arranque

1voto

user2458368 Puntos 29

También registrar su servicio creado en el Manifiesto y los usos de permiso como

<service android:name=".myService">
            <intent-filter>
                <action android:name="com.example.myService"/>
            </intent-filter>
        </service>
</application>
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

0voto

Manoj Tarkar Puntos 55

En primer lugar, registrar un receptor en su manifest.xml archivo:

    <receiver android:name="com.mileagelog.service.Broadcast_PowerUp" >
        <intent-filter>
            <action android:name="android.intent.action.ACTION_POWER_CONNECTED" />
            <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED" />
        </intent-filter>
    </receiver>

y, a continuación, escribir una emisión de este receptor como:

public class Broadcast_PowerUp extends BroadcastReceiver {

  @Override
  public void onReceive(Context context, Intent intent) {
    String action = intent.getAction();

    if (action.equals(Intent.ACTION_POWER_CONNECTED)) {
        Toast.makeText(context, "Service_PowerUp Started",
                Toast.LENGTH_LONG).show();


    } else if (action.equals(Intent.ACTION_POWER_DISCONNECTED)) {



        Toast.makeText(context, "Service_PowerUp Stoped", Toast.LENGTH_LONG)
        .show();
    }
  }
}

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X