Android: comment supprimer complètement un service fonctionnant séparément en tant que processus d'arrière-plan?

J'ai une application qui a une Activité, qui est utilisé comme la régulière GUI, et un Service. Mon activité a que deux boutons. Un bouton pour arrêter le processus, et l'une pour tuer le processus. J'utilise ces méthodes, respectivement, de démarrer et d'arrêter mon processus:

Intent i = null;
Button start;
Button stop;

public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);

    i = new Intent(this, Service.class);
    start = (Button) findViewbyId(R.id.start_button);
    stop = (Button) findViewById(R.id.stop_button);

    start.setOnClickListener(new OnClickListener(){

        public void onClick(){
            startService(i);
        }
    }
    stop.setOnClickListener(new OnClickListener(){

        public void onClick(){
            stopService(i);
        }
    }
}

Ce Service n'est pas lié à la actvivty ou de l'application. J'ai le service configuré dans le Manifeste de la manière suivante:

<service
    android:name="com.example.mypackage.Service"
    android:process=":remote"> 
    <intent-filter>
        <action
            android:name="com.example.mypackage.Service" />
    </intent-filter>
</service>

Quand j'ai démarrer le Service, il fonctionne sur son propre indépendante sur quoi que ce soit d'autre. Sens, lorsque je démarre le service et onDestroy() l'application, le service est toujours en cours d'exécution. Je peux voir qu'il est toujours en cours d'exécution parce que grâce à adbje lance le ps commande et il dit qu'il est.

Le problème est quand je l'appelle stopService(intent). Quand je l'appelle stopService(intent) de l'activité côté, il va exécuter les lignes de code, défini dans la onDestroy() du service, mais quand je lance ps par adbil dit qu'il est toujours en cours.

Je veux être en mesure de détruire COMPLÈTEMENT le service. Je ne suis pas sûr de la façon dont les services du travail, de sorte s'il vous plaît, n'hésitez pas à parler de rattrapage. Je ne sais pas si ça a à voir avec ce que je fais dans le service ou pas. Merci!

EDIT:
Lorsque je démarre le service, j'utilise le onStartCommand() et exécuter du code qui il ne. J'ai aussi le retour START_STICKY de onStartCommand(). J'ai aussi essayé de retourner START_NOT_STICKY et le service est toujours en cours après que j'appelle startService(intent).

source d'informationauteur Rob Avery IV