所以我有两个离子(android)应用程序。我的目标是读取和写入在服务中初始化的特征。我已经使用don's插件尝试过reading的内置特性并获得了设备名称。现在,我想阅读我自己的特征的值。由于我为此使用了rrand的插件,因此他给了method,
回复
响应读取或写入请求
bluetoothle.respond(success, error, params);
参数
//This was a read
var params = {
"requestId":0,
"value":"UmVhZCBIZWxsbyBXb3JsZA==" //Read Hello World
};
这是我初始化广告外围设备的方式
this.platform.ready().then((readySource) => {
this.sourceToast(readySource);
this.bluetoothLE.initialize(this.paramsInit).then(paramsInitResult => {
this.bleInitialize = paramsInitResult;
this.bluetoothLE.initializePeripheral(this.paramsInitPeripheral).then(peripheral => {
this.bleInitializePeripheral = peripheral;
this.bluetoothLE.enable();
this.bluetoothLE.getAdapterInfo().then(adapter => {
this.device = adapter;
this.bluetoothLE.addService(this.paramsService).then(params => {
this.bleAddService = params;
});
});
});
});
});
现在,我的问题是我将如何监听状态readRequested,以便可以从initPeripheral参数中获取信息。
所以当status == readRequested时,我希望会做类似的事情
let p = {
requestId:0,
value:"5"
};
this.bluetoothLE.respond(p).then(onFullfilled => {
onFullfilled => {
console.log(onFullfilled);
}
}, onrejected => {
console.log('respond err',onrejected);
});
如果这行得通,我使用don's插件取回值“ 5”。 任何提示将不胜感激!至于为什么要使用两个插件,我发现don的ble-central插件比rrand的插件更易于实现。
更新: 现在我看到了代码的结构方式,似乎每次我初始化Peripheral时,它总是会恢复到原来的状态
{
"request": true
"restoreKey": "bluetoothleplugin"
}
所以我需要让它在构造函数上运行,但是我认为该方法只运行一次,所以我没有获得readRequested状态。马安