参考示例:import { abilityAccessCtrl, common } from '@kit.AbilityKit'; import { access } from '@kit.ConnectivityKit'; function onReceiveEvent(data: access.BluetoothState) { console.log("bluetooth1111111111:" + data) try { console.log(typeof data.valueOf()) // data===access.BluetoothState.STATE_OFF?this.isOpenBluetooth=0:this.isOpenBluetooth=2 if (data === access.BluetoothState.STATE_OFF) { AppStorage.setOrCreate('isOpenBluetooth', 0) console.log('isOpenBluetooth:' + AppStorage.get('isOpenBluetooth')); } else { AppStorage.setOrCreate('isOpenBluetooth', 2) console.log('isOpenBluetooth:' + AppStorage.get('isOpenBluetooth')); } } catch (e) { console.error(`${e}`) } } @Entry @Component export struct BleDemo { @State message: string = 'Hello World' // @State isOpenBluetooth: number = 0; @StorageLink('isOpenBluetooth') isOpenBluetooth: number = 0; aboutToAppear(): void { let context = getContext() as common.UIAbilityContext; abilityAccessCtrl.createAtManager().requestPermissionsFromUser(context, ['ohos.permission.ACCESS_BLUETOOTH']) access.on('stateChange', onReceiveEvent) setInterval(() => { console.error(this.isOpenBluetooth.toString()) }, 1000) } build() { Column() { Text(this.message) .fontSize(50) } .width('100%') .height('100%') .justifyContent(FlexAlign.Center) .onClick(() => { // console.log('isOpenBluetooth:'+AppStorage.get('isOpenBluetooth')); }) } }
参考示例: