2011-10-05 15 views

risposta

22

Aggiungi al 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> 

Crea classe AutoStart.java:

public class AutoStart extends BroadcastReceiver 
{ 

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

} 
+1

Ma l'BroadcastReceiver avvia la ricezione Broadcast non appena il dispositivo completo avvio, senza la necessità di eseguire il applicazione? Se sì, quando verrà registrato il destinatario della trasmissione? – Adham

+2

Sì, il sistema operativo chiamerà il metodo AutoStart.onReceive() all'avvio del dispositivo. Si noti che questo potrebbe essere prima che la scheda SD sia montata. Quando installi l'apk, il sistema controllerà il tuo manifest e la tua app verrà registrata con il sistema affinché tu possa iniziare all'avvio. – ciscogambo

Problemi correlati