dcloudio / dcloudio/native-docs
uni.onBluetoothAdapterStateChange回调两次
- Vorherrschende Sprache
- Keine Sprachdaten
- Sterne
- 88
- Forks
- 75
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
**问题描述**
[问题描述:尽可能简洁清晰地把问题描述清楚]
试图使用uni.onBluetoothAdapterStateChange方法来判断蓝牙是否开启,但是开关系统蓝牙会回调两次这个方法。第一次并不准确,第二次才是准确的
**复现步骤**
[复现问题的步骤]
1. 启动 '....'
2. 点击 '关闭系统蓝牙,回调两次,开启系统蓝牙,回调两次'
3. 查看
[或者可以直接贴源代码]
**预期结果**
[使用简洁清晰的语言描述你希望生效的预期结果]
回调一次
**实际结果**
[这里请贴上你的报错截图或文字]
回调两次
关闭
15:58:16.611 [Object] {"discovering":false,"available":false} at pages/index/index.vue:81
15:58:16.700 [Object] {"discovering":false,"available":false} at pages/index/index.vue:81
开启
15:58:21.788 [Object] {"discovering":false,"available":false} at pages/index/index.vue:81
15:58:21.973 [Object] {"discovering":false,"available":true} at pages/index/index.vue:81
**系统信息:**
- 发行平台: app
- 操作系统 [Android 9.0]
- HBuilderX版本 [HBuilderX,3.4.7.20220422]
- uni-app版本 [Vue3.0, uniapp 13.4.7]
- 设备信息 [AUTOID pad air]
**补充信息**
https://github.com/dcloudio/uni-app/issues/958
已经修改,但是问题依旧出现
源码:
uni.onBluetoothAdapterStateChange((result)=>{
console.log(result);
if (result.available == true) {
_this.bleAdapterAvailable = true;
} else {
_this.bleAdapterAvailable = false;
if (result.discovering) {
_this.stopScan()
}
}
})
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Beginne mit dem uni.onBluetoothAdapterStateChange-Callback in pages/index/index.vue bei Zeile 81 und reproduziere die Aktivierungs-/Deaktivierungssequenz unter Android 9. Vergleiche die beiden Callback-Ergebnisse mit dem erwarteten einzelnen Callback; abgeschlossen ist die Aufgabe, wenn der Callback für jeden Systemumschaltvorgang einmal den finalen Bluetooth-Status meldet.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- android, javascript
- Bereich
- mobile-dev
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 25/100