8
Come avviare un service
quando il dispositivo Android è acceso e il sistema operativo è in esecuzione?Come avviare un servizio quando il dispositivo Android è acceso?
Come avviare un service
quando il dispositivo Android è acceso e il sistema operativo è in esecuzione?Come avviare un servizio quando il dispositivo Android è acceso?
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);
}
}
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
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