Android bluetooth prise.connect() échoue
Je suis en train de faire une connexion entre un appareil android et un lecteur RFID bluetooth. Pour ce faire j'ai utiliser le code de bluetooth de chat (bluetooth exemple de discussion). Mais quand je fais mmSocket.connect();
à la ligne 329 du bluetooth chat exemple, la connexion de générer à chaque fois qu'un java.io.IOException
. J'ai essayé aussi cette méthode pour obtenir le support:
tmp = mDevice.createRfcommSocketToServiceRecord(MY_UUID);
Method m = mDevice.getClass().getMethod("createRfcommSocket", new Class[] {int.class});
tmp = (BluetoothSocket) m.invoke(mDevice, 1);
mais rien. J'ai essayé avec 3 différence des appareils. Le premier, un Samung S2 sous android 4.4.2 donne-moi de cette erreur:
failed:read failed, socket might closed, read ret: -1
Avec une tablette sous android 4.0.3 donne-moi de cette erreur:
IOException: Connection refused
La curiosité, c'est que si j'essaie de connecter mon téléphone avec ma tablette je ne. Mais si je suis dans les 2 appareils, cette application, et avec un j'essaie de me connecter à la seconde, tandis que la seconde est à la recherche de certains appareils à connecter, la connexion est réussie. Mais seulement si le deuxième dispositif est en cours d'exécution de cette application et de recherche de certains appareils à connecter. J'ai essayé également de dissocier, mais rien. Enfin, je voulais dire que si j'essaie de connecter les 2 appareils ou d'un appareil avec mon rfid bluetooth lecteur à travers les paramètres de la connexion est réussie. Et la dernière, je voulais dire que quand j'essaie de connecter les 2 appareils ou de l'appareil avec le lecteur rfid, si les appareils n'est pas apparié, de comparer, d'une boîte de dialogue qui me demandent de pair les 2 appareil, mais après cela, la connexion a échoué.
Vous devez vous connecter pour publier un commentaire.
J'ai eu le même problème. Il est facile à résoudre. Vous devez configurer votre lecteur de RFID de SPP protocole avec son programme configure et après cela, il va fonctionner.
Votre code suppose sécurisé BT connexion, et les tentatives de deux façons différentes (qui est bonne). Le premier test, vous devez tentative est insécurité BT connexion l'utilisation de ces méthodes:
Si cela ne résout pas le problème que vous devriez prob. passer à la vérification de l'exactitude
de l'uuid vous passez à la méthode de création. Vous êtes probablement (?) à l'aide de la
par défaut SPP uuid:
Cela fonctionne sur de nombreux appareils, mais pas sur toutes.
Essayez de interroger vos pairs pour la liste des uuid il prend en charge:
Et, si ce n'est pas vide, utiliser le premier dans le tableau comme paramètre à la méthode de création.
Vous pouvez également utiliser BTWiz, écrit par votre serviteur, qui fait tout pour vous dans la transparence de l'automne-modèle, et prend également en charge async Bluetooth IO.
J'ai eu ce problème aussi, j'ai essayé tout ce qui a été dit dans ce post, mais rien n'a fonctionné pour moi. J'ai enfin réussi à le résoudre.
Mon mal de code utilisé une variable de classe BluetoothAdapter pour vérifier si le bluetooth est sur, comme ceci :
}
J'ai eu bt socket connecter échoue tout le temps. Mais j'ai utilisé une méthode privée pour activer le Bluetooth, et le socket problème a disparu.
Pourquoi?? Je n'ai aucune idée, tout a fonctionné pour moi!!!!
Parfois la commande de connexion dans le client Bluetooth pour serveur Bluetooth ne fonctionne pas. Il peut-être une erreur d'un pilote ou d'une erreur dans le module Bluetooth, ou une erreur dans la bibliothèque implémente Bluetooth en Java. Pour moi seule permet de désactiver puis activer le Bluetooth, une connexion commence à travailler normalement.