Maison  >  Article  >  interface Web  >  Code du périphérique Bluetooth de l'applet WeChat et tri des erreurs

Code du périphérique Bluetooth de l'applet WeChat et tri des erreurs

小云云
小云云original
2018-02-03 14:58:145216parcourir

L'applet WeChat est généralement très bonne. L'interface Bluetooth est en effet un "trou". Les programmeurs du "côté réseau" font "l'interface matérielle". Cet article partage principalement avec vous le code et l'erreur du périphérique Bluetooth de l'applet WeChat. le tri. J'espère que cela pourra aider tout le monde.

Quelques choses gênantes

De nombreux appareils Bluetooth brouilleront le téléphone. L'entreprise peut analyser plus de 200 appareils, ce qui bloque directement WeChat sur l'iPhone 5S.

Un délai doit être ajouté entre chaque opération matérielle, 100 ms est recommandé, par exemple entre « activer Bluetooth » et « démarrer la numérisation », « connexion réussie » et « obtenir un service », etc. Ne pas utiliser le délai peut provoquer des erreurs inexplicables, plus courantes sur Android.

Faites attention aux caractéristiques asynchrones et simultanées de JS, en particulier aux caractéristiques du service d'interrogation. Le mini programme ne supporte pas encore async et wait (ces deux mots-clés sont inclus dans la complétion du code, mais ils ne peuvent pas être compilés).

Lecture et écriture de données Bluetooth, le type de données annoncé est ArrayBuffer (remarque lorsque vous citez l'applet : vConsole ne peut pas imprimer les données de type ArrayBuffer). Les gars, veuillez d'abord comprendre les tableaux binaires et les chaînes hexadécimales. Il existe des méthodes de conversion dans le code (copiées depuis github).

Initialisez l'adaptateur Bluetooth (wx.openBluetoothAdapter(OBJECT)) et obtenez l'état de l'adaptateur Bluetooth local (wx.getBluetoothAdapterState(OBJECT)). Il est difficile de dire laquelle de ces deux fonctions doit être appelée en premier. Jouez simplement avec vous-même. Consultez les instructions ci-dessous.

Quelques BUG

1. Pendant le processus de numérisation Bluetooth, obtenez l'état de l'adaptateur Bluetooth local (wx.getBluetoothAdapterState(OBJECT)). (Exclusif à Android, Huawei Honor 8, VIVO 7plus, 6.5.13)

availableBoolean Si l'adaptateur Bluetooth est disponible, la valeur est vraie.

discoveringBoolean Si l'appareil est recherché, la valeur est fausse.

https://github.com/FFiot/WX_Bluetooth/issues/1

2 Pendant le processus de numérisation Bluetooth, recommencez la numérisation wx.startBluetoothDevicesDiscovery(OBJECT) : échec, errCode=10008. . (Exclusif à Android, Huawei Honor 8, VIVO 7plus, 6.5.13) BOGUE : requête sur l'état Bluetooth pendant la numérisation Bluetooth · Problème n° 1 · FFiot/WX_Bluetoothgithub.com Pendant la numérisation Bluetooth, recommencez la numérisation wx.startBluetoothDevicesDiscovery(OBJECT) : échec, codeerreur=10008. (Exclusif à Android, Huawei Honor 8, VIVO 7plus, 6.5.13)

https://github.com/FFiot/WX_Bluetooth/issues/2

errorCode est mélangé avec errMsg. (Exclusif à IOS, IPHONE5s, WeChat 6.5.15)

https://github.com/FFiot/WX_Bluetooth/issues/3

3. Lorsque Bluetooth scanne un caractère sous service, si S'il y a plusieurs services, seul le personnage du premier service peut être obtenu normalement. Le chara obtenu par les autres services est le même que celui du premier service. (Unique pour IOS, IPHONE5s, WeChat 6.5.15)

Il existe deux états pour activer et désactiver Bluetooth sur les appareils mobiles, déclenchant le rappel wx.onBluetoothAdapterStateChange

1 wx.getBluetoothAdapterState(. OBJET)

Le statut de fermeture renvoie : drrCode:10000,errMsg:"getBluetoothAdapterState:fail". Activez Bluetooth à ce moment : wx.onBluetoothAdapterStateChange(CALLBACK) n'a pas de rappel.

Le statut d'ouverture renvoie : drrCode:10000,errMsg:"getBluetoothAdapterState:fail". Désactivez Bluetooth à ce moment : wx.onBluetoothAdapterStateChange(CALLBACK) n'a pas de rappel.

2. wx.getBluetoothAdapterState(OBJECT)

L'état de fermeture renvoie : drrCode:10001,errMsg:"openBluetoothAdapter:fail". Activez Bluetooth à ce moment : wx.onBluetoothAdapterStateChange(CALLBACK) a un rappel.

Le statut d'ouverture renvoie : errMsg : "openBluetoothAdapter:ok". Activez Bluetooth à ce moment : wx.onBluetoothAdapterStateChange(CALLBACK) a un rappel.

Recommandations associées :

Code pour l'applet WeChat pour implémenter le lien Bluetooth

Exemple de partage de la façon dont l'applet WeChat implémente Bluetooth

Applet WeChat - Ble Bluetooth

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn