在 Tizen Wearable 上设置蓝牙侦听器

Set Bluetooth Listener on Tizen Wearable

我正在使用 Tizen 的可穿戴 SDK 创建表盘,虽然我可以使用 blueAdapter = tizen.bluetooth.getDefaultAdapter();bluetoothPowered = blueAdapter.powered; 检索蓝牙的电源状态,但我宁愿使用蓝牙侦听器而不是不断调用 blueAdapter.powered.

我遇到的问题是,虽然我从 Tizen 的 Bluetooth API 网页上直接复制并粘贴了示例代码(虽然我确实更改了适配器的名称,见下文),但我出现以下错误:'undefined' is not a function (evaluating 'blueAdapter.setChangeListener(changeListener)').

这是我使用的代码:

var blueAdapter = tizen.bluetooth.getDefaultAdapter();

var changeListener = {
      onstatechanged: function(powered) {
         console.log ("Power state is changed into: " + powered);
      },
      onnamechanged: function( name) {
          console.log("Name is changed to: " + name);
      },
      onvisibilitychanged: function(visible) {
          console.log("Visibility is changed into: " + visible);
      }
 };

blueAdapter.setChangeListener(changeListener);

不确定是否有帮助,但我正在使用以下 privileges:

http://tizen.org/privilege/bluetooth.admin
http://tizen.org/privilege/bluetooth.gap

如有任何帮助,我们将不胜感激。

虽然已经有一段时间了,但您是否尝试过像下面这样更改语法?

function changeListener(handler) {
    handler.onstatechanged = function(powered) {
        console.log ("Power state is changed into: " + powered);
        }
    handler.onnamechanged = function(name) {
          console.log("Name is changed to: " + name);
        }
        handler.onvisibilitychanged = function(visible) {
          console.log("Visibility is changed into: " + visible);
        }
};

这会用一个函数替换您的侦听器对象,然后该函数应在侦听器中声明所需的函数。这只是一个想法,我还没有测试过。