2017-10-17 12 views
0

J'essaie de comprendre les services liés. J'ai une application xamarin en utilisant mqtt et le mqtt est perturbé pendant le cycle de vie de l'activité. Actuellement, j'ai une classe de connexion qui gère la connexion à la mqtt qui est appelée à partir d'une activité. J'ai besoin de la classe de connexion pour fonctionner sans interruption, même si l'application est en arrière-plan de premier plan, etc. (si quelqu'un est curieux, la routine keepalive est interrompue lorsque l'application passe en arrière-plan) L'application est 100% stable t laisser le téléphone aller dormir (option de développeur rester éveillé pendant la charge). Si je laisse le téléphone aller dormir après un moment, le mqtt se déconnecte. Donc, d'après ce que je comprends, j'ai besoin de classes boundService, boundServiceBinder, et boundServiceConnection.Xamarin Bound Service Méthode de connexion puis-je instancier une classe

Il semble que je souhaite que la lourde tâche se produise dans la classe boundServiceConnection.

Exemple

class BoundServiceConnection : Java.Lang.Object, IServiceConnection 
{ 
     Connection connect; 

     public void OnServiceConnected(ComponentName name, IBinder service) 
     { 
       connect = new connection(); 

     } 
     public void OnServiceDisconnected(ComponentName name) 
     { 
     } 
} 

Maintenant, cela fonctionnera, vais-je être en mesure d'accéder aux propriétés de la classe de connexion que je peux quand j'instancier une activité?

Merci à tous

Mark

Répondre

0

Oui vous pouvez,

ce que vous voulez faire est de créer juste une méthode dans la classe que vous boundServiceConnection qui instancie l'objet. et appelez-le après que vous avez lié au service