J'ai une activité et un service liés à elle.Android: Comment le service lié peut être remarqué sur le client tué?
Si le service est tué par le système, l'activité est notée à cause de ServiceConnection.onServiceDisconnected(ComponentName) sera appelée.
Mais lorsque le processus d'activité est détruit par le système, y a-t-il un rappel au service? Comment le Service peut-il savoir que le client a été tué? (Lorsque le processus est tué, il n'y a pas appel de méthode onDestroy()
, malheureusement)
La seule façon que je vois est maintenant comme suit:
J'ai la liste de rappel dans mon Service
:
RemoteCallbackList<IModConnClient> mCallbacks
Lorsque Je commence à diffuser en appelant mCallbacks.beginBroadcast();
il me renvoie un certain nombre de clients. Donc, je peux me souvenir du nombre de clients précédents et vérifier si elle a diminué. Mais il semble que ce ne soit pas vraiment une bonne solution. Je voudrais avoir un rappel, mais malheureusement je ne peux pas en trouver un.
Quelqu'un peut-il donner une suggestion?
Pourquoi votre activité et votre service ne sont-ils pas dans le même processus? – CommonsWare
@CommonsWare, c'est parce que j'ai besoin de créer un service qui communiquera avec d'autres applications en utilisant 'AIDL'. Le point de départ pour moi était ce guide de développement: http://goo.gl/pJBqX. J'ai 'android: process =": remote "' dans AndroidManifest.xml pour ce service. –