J'utilise le client signalR java pour une application android. Ce qui suit est le code que je suis en train dès maintenant:signalr sur la fonction non appelée
conn = new HubConnection("http://example.com/");
hubProxy = conn.createHubProxy("android");
hubProxy.on("request", new SubscriptionHandler() {
@Override
public void run() {
testFunction();
}
});
conn.start().done(new Action<Void>() {
@Override
public void run(Void obj) throws Exception {
hubProxy.invoke("init");
}
});
Les éléments suivants sont testés et vérifiés comme travail:
- Le Conn a sûrement commencé et la connexion est réussie. Je suis capable d'utiliser les fonctions de serveur en utilisant invoke. Même l'appel ("init") est confirmé pour fonctionner.
- La fonction "request" est définitivement appelée. J'ai vérifié de plusieurs manières comprenant en créant un code équivalent sur js avec un console.log. Cela fonctionne parfaitement avec le même processus.
hub.on('request', function(){console.log(99)})
- J'ai essayé d'exécuter testFunction() else où et cela fonctionne parfaitement.
J'ai essentiellement fait toutes les vérifications possibles auxquelles je pouvais penser à chaque étape du processus. Le problème que je suis confronté est que j'ai le testFunction() ne s'exécute jamais lorsque la demande est appelée. J'ai essayé de le remplacer par plusieurs autres codes. Aucun d'eux ne court. J'ai testé sur l'émulateur de studio android et sur le téléphone après avoir généré un fichier apk. Sur la base de mes tests mentionnés ci-dessus, quelles pourraient être les raisons possibles pour lesquelles la fonction On n'est toujours pas appelée?
Avez-vous pu le faire fonctionner? J'ai mis à jour ma réponse avec de nouvelles informations. – Rockney