处理100J设备蓝牙问题

This commit is contained in:
微微一笑
2026-03-19 14:36:17 +08:00
parent ac59e28281
commit 3a9de3078c
4 changed files with 102 additions and 43 deletions

27
App.vue
View File

@ -2,6 +2,10 @@
import bleTool from '@/utils/BleHelper.js';
import upgrade from '@/utils/update.js';
// 延迟断开蓝牙:选择文件/录音等会触发 onHide8 秒内返回则不断开
const BLE_DISCONNECT_DELAY = 8000;
let _bleDisconnectTimer = null;
export default {
onLaunch: function() {
@ -74,7 +78,11 @@
},
onShow: function() {
console.log('App Show');
// 取消延迟断开:用户可能只是选文件/录音后返回,不断开蓝牙
if (_bleDisconnectTimer) {
clearTimeout(_bleDisconnectTimer);
_bleDisconnectTimer = null;
}
//将检查更新换到onshow,因为苹果用户喜欢一直挂着
// #ifdef APP|APP-PLUS
@ -91,11 +99,22 @@
onHide: function() {
console.log('App Hide');
// #ifdef APP|APP-PLUS
// 上传中不主动断开:语音上传进行中则不断开蓝牙
let ble = bleTool.getBleTool();
if (ble) {
console.log("断开所有蓝牙设备");
ble.disconnectDevice();
if (ble && ble.isVoiceUploading && ble.isVoiceUploading()) {
console.log('App Hide: 语音上传中,不启动断开定时器');
return;
}
// 延迟断开:选文件/录音会短暂 onHide8 秒内返回则不断开
if (_bleDisconnectTimer) clearTimeout(_bleDisconnectTimer);
_bleDisconnectTimer = setTimeout(() => {
_bleDisconnectTimer = null;
let ble2 = bleTool.getBleTool();
if (ble2) {
console.log("断开所有蓝牙设备");
ble2.disconnectDevice();
}
}, BLE_DISCONNECT_DELAY);
// #endif
},
onError(ex) {