Android Démarrer le service non lié à l'aide d'une intention


Exemple

Un service est un composant qui s'exécute en arrière-plan (sur le thread d'interface utilisateur) sans interaction directe avec l'utilisateur. Un service non lié vient d'être démarré et n'est lié au cycle de vie d'aucune activité.

Pour démarrer un service, vous pouvez faire comme indiqué dans l'exemple ci-dessous:

// This Intent will be used to start the service
Intent i= new Intent(context, ServiceName.class);
// potentially add data to the intent extras
i.putExtra("KEY1", "Value to be used by the service");
context.startService(i);

Vous pouvez utiliser des extras de l'intention en utilisant un onStartCommand() :

public class MyService extends Service {
    public MyService() {
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId)
    {
        if (intent != null) {
            Bundle extras = intent.getExtras();
            String key1 = extras.getString("KEY1", "");
            if (key1.equals("Value to be used by the service")) {
                //do something
            }
        }
        return START_STICKY;
    }

    @Nullable
    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }

}