Se connecter automatiquement à l'appareil compatible bluetooth couplé lorsque dans la gamme
Objectif:
J'essaie d'obtenir mon android pour se connecter automatiquement à un déjà
appareil compatible bluetooth couplé lors de sa gamme.
Exemple:
J'ai mon iphone couplé à ma voiture. Quand je m'assois dans ma voiture, la musique
commence automatiquement la lecture. Je n'ai pas besoin de le connecter à nouveau. J'
n'avez pas besoin de commencer une chanson. Il vient de lance itunes et commence à jouer
de la musique. Je veux que ce type de connectivité dans mon application Android.
Une solution évidente est d'avoir un thread en cours d'exécution en arrière-plan de services qui tente de se connecter toutes les X secondes. Ce n'est cependant pas optimale à cause de l'impact sur la vie de la batterie.
J'ai essayé la configuration des récepteurs de radiodiffusion à se déclencher sur ACTION_ACL_CONNECTED
mais cela semble être la seule à être appelé après je me connecter à l'appareil.
Est-il pas de mon application peut recevoir une notification lorsque le téléphone est en marche dans la gamme de l'appareil?
J'ai passé la meilleure partie de ces deux derniers jours à essayer d'obtenir ce travail à pas de chance. Il y a un milliard de tutoriels sur la façon de se connecter à un périphérique bt, mais aucun pour la connexion automatique quand à sa portée. Commençant à se demander si ce encore possible.. je vais être époustouflé si ses pas 🙁
questions connexes:
Trouver déjà reliés à des appareils bluetooth automatiquement, quand ils sont dans la gamme
OriginalL'auteur Mahir | 2014-10-26
Vous devez vous connecter pour publier un commentaire.
Autant que je sache, il n'y a aucun moyen de se connecter automatiquement à un générique de Bluetooth de l'appareil dès qu'il est à portée. Votre meilleur pari est d'avoir une enquête de la boucle, périodiquement l'interrogation des périphériques disponibles, et de se connecter à ceux qui vous sont posées avec (même si, comme vous l'avez dit, c'est assez intensive de la batterie).
Cependant, si votre appareil (à la fois le téléphone et le périphérique) en charge Bluetooth 4.0 (LE) ainsi que le GATT, vous pouvez utiliser connectGatt méthode qui se connectera automatiquement dès que l'appareil est disponible (encore une fois, pas trop sûr au sujet de la batterie implications bien que limités, les tests que j'ai fait jusqu'à présent montre qu'il n'est pas significatif).
Je ne suis pas tout à fait certaine de ce que le comportement de
connectGatt
est lorsque l'appareil est non-GATT, mais il peut être utile de l'examiner - j'imagine que vous recevez un rappel avec le statut deGATT_FAILURE
lorsque l'appareil est à portée, mais ne prend pas en charge le GATT (ce serait au moins vous donner une idée de la date pour vous connecter).Si vous trouvez une solution ou d'enquêter sur le comportement de cette méthode sur la non-LE ou non GATT de périphériques s'il vous plaît ne mettez à jour votre question, je serais assez curieux d'en savoir plus à ce sujet.
OriginalL'auteur Bart Platak
Comme mentionné avant, il n'y a pas de moyen facile de le faire avec Bluetooth Classique autrement que par la permanence de la numérisation.
La radio de la voiture scénario que vous avez mentionné, cependant, fonctionne avec certaines radios de voiture—mine établit automatiquement une connexion Bluetooth avec mon téléphone dès que je allumer la radio. J'ai observé un comportement similaire avec un clavier Bluetooth.
Je ne peux que spéculer que ces périphériques sont périodiquement essayez de vous connecter à des appareils reliés jusqu'à ce qu'elle est réussie. Cela a un sens pour un périphérique dans certaines conditions:
Évidemment, cela dépend de votre capacité à influencer le comportement de l'appareil couplé. Si c'est un hors-the-shelf de l'appareil, soit il travaille ou qu'il n'a pas—mais si vous êtes de la conception d'un périphérique personnalisée, il est utile d'examiner.
OriginalL'auteur user149408