可以在设备“设置 > 多设备协同 > 星闪”(不同产品或系统版本可能为“设置 > 星闪和蓝牙 > 星闪”)路径下,打开或关闭星闪,触发开关状态的变化。
导入相关模块。
import { hilog } from '@kit.PerformanceAnalysisKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { manager } from '@kit.NearLinkKit'; 发起星闪状态查询。
try {
let state: manager.NearlinkState = manager.getState();
hilog.info(this.domainId, this.logTag, `NearLink state: ${JSON.stringify(state)}`);
// ...
} catch (err) {
hilog.error(this.domainId, this.logTag,
`errCode: ${(err as BusinessError).code}, errMessage: ${(err as BusinessError).message}`);
} 或者通过注册的方式订阅星闪开关状态变化。
let onReceiveEvent: (data: manager.NearlinkState) => void = (data: manager.NearlinkState) => {
hilog.info(this.domainId, this.logTag, `NearLink state changed: ${JSON.stringify(data)}`);
// ...
};
try {
manager.on('stateChange', onReceiveEvent);
hilog.info(this.domainId, this.logTag, `Subscribed to stateChange`);
} catch (err) {
hilog.error(this.domainId, this.logTag,
`errCode: ${(err as BusinessError).code}, errMessage: ${(err as BusinessError).message}`);
} 取消订阅星闪开关状态变化,其中onReceiveEvent是步骤3中定义的回调函数。
try {
manager.off('stateChange');
hilog.info(this.domainId, this.logTag, `Unsubscribed from stateChange`);
} catch (err) {
hilog.error(this.domainId, this.logTag,
`errCode: ${(err as BusinessError).code}, errMessage: ${(err as BusinessError).message}`);
}