В настоящее время я использую cordova.plugins.diagnostic, чтобы проверить, Вкл. или Выкл. Если Bluetooth выключен, то подсказка, предлагающая пользователю включить его, и кнопка «Продолжить» отключена. После того, как он уже включен, как я могу определить, что он уже включен, и включить кнопку «Продолжить».
Ниже приведен код, как определить, что Bluetooth включен/отключен:
cordova.plugins.diagnostic.isBluetoothEnabled(function(enabled){
console.log("Bluetooth is " + (enabled ? "enabled" : "disabled"));
}, function(error){
console.error("The following error occurred: "+error);
});
Затем это код, как проверить изменения, сделанные для состояния Bluetooth:
$ionicPlatform.ready(function() {
cordova.plugins.diagnostic.registerBluetoothStateChangeHandler(function(state ){
if(state === cordova.plugins.diagnostic.bluetoothState.POWERED_ON){
alert("Bluetooth is able to connect");
$scope.bluetoothIsEnabled = true;
}
else if(state === cordova.plugins.diagnostic.bluetoothState.POWERED_OFF){
alert("Bluetooth is Off");
$scope.bluetoothIsEnabled = false;
}
});
})
Но если я проверяю от Off до On или от On до Off, никаких предупреждений не появляется. Похоже, что обработчик не перезванивает.
cordova.plugins.diagnostic.setBluetoothState
в событии кнопки «Продолжить»? Итак, как я могу включить эту кнопку после включения Bluetooth? 25.05.2016ng-disabled
<button class="button" ng-disabled="!bluetoothIsEnabled" on-tap="yourFunction($event)"></button>
25.05.2016cordova.plugins.diagnostic.isBluetoothEnabled
не обратный вызов для изменения значенияbluetoothIsEnabled
на true. 25.05.2016registerBluetoothStateChangeHandler
, вы можете использовать ее для прослушивания статуса Bluetooth. 26.05.2016setBluetoothState
- это толькоAndroid
, ноregisterBluetoothStateChangeHandler
иisBluetoothEnabled
говорят, что поддерживаютAndroid
иiOS
в документе плагина 26.05.2016registerBluetoothStateChangeHandler
, кажется, не перезванивает после того, как я внес изменения в состояние Bluetooth. Я использовал Android версии 4.1.2 и 4.4.2. Я отредактировал свой вопрос, чтобы добавить свой новый код. 27.05.2016