如何在不使用本机代码的情况下要求用户在NativeScript上启用蓝牙

时间:2017-08-21 12:36:49

标签: android ios bluetooth nativescript

我需要让用户启​​用蓝牙,但我不想使用每个平台的本机方法,NativeScript中是否有标准化的方法?

此类请求应使用哪些类,以便代码兼容iOS和Android平台,或者它们可能提供的任何内容?

对于iOS和Android,我需要这样的代码:

  DemoAppModel.prototype.doEnableBluetooth = function () {
    bluetooth.enable().then(function(enabled) {
   if(!enabled)
      setTimeout(function() {
    /* I need this code for iOS and Android */
    Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
    startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
      }, 500);
    });
  };

1 个答案:

答案 0 :(得分:1)

您可以使用nativescript-bluetooth插件并使用the method shown in the demo app

bluetooth.isBluetoothEnabled().then(function(enabled) {
  // show an alert dialog or some nicer UI, if 'enabled' if false
});

顺便说一句,在Android上,您甚至可以使用this method of the plugin以编程方式在设备上启用蓝牙(它会询问用户的同意):

bluetooth.enable().then(function(enabled) { /* .. */ });