2011-10-05 19 views

Respuesta

22

Añadir a AndroidManifest.xml:

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

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

<receiver android:name="com.your.package.AutoStart"> 
    <intent-filter> 
     <action android:name="android.intent.action.BOOT_COMPLETED" /> 
    </intent-filter> 
</receiver> 

Crear AutoStart.java clase:

public class AutoStart extends BroadcastReceiver 
{ 

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

} 
+1

Pero empieza la BroadcastReceiver reciben emisiones tan pronto como el dispositivo de arranque completa, sin la necesidad de ejecutar el ¿solicitud? En caso afirmativo, ¿cuándo se registrará el receptor de difusión? – Adham

+2

Sí, el sistema operativo llamará a su método AutoStart.onReceive() cuando se inicie el dispositivo. Tenga en cuenta que esto puede ser antes de montar la tarjeta SD. Cuando instale la aplicación, el sistema buscará su manifiesto y su aplicación se registrará en el sistema para que pueda comenzar desde el arranque. – ciscogambo

Cuestiones relacionadas