Search code examples
javascriptbluetoothtizentizen-wearable-sdk

Set Bluetooth Listener on Tizen Wearable


I'm using Tizen's Wearable SDK to create a watch face, and while I am able to retrieve the Bluetooth's power state by using blueAdapter = tizen.bluetooth.getDefaultAdapter(); and bluetoothPowered = blueAdapter.powered;, I'd rather use a Bluetooth listener instead of constantly calling blueAdapter.powered.

The problem I'm having is that although I did a straight forward copy and paste of the sample code (although I did change the adapter's name, see below) from Tizen's Bluetooth API webpage, I'm getting the following error: 'undefined' is not a function (evaluating 'blueAdapter.setChangeListener(changeListener)').

This is the code I am using:

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);

Not sure if it helps, but I am using the following the privileges:

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

Any help would be appreciated.


Solution

  • Although it's been a while now, have you tried changing the syntax like below?

    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);
            }
    };
    

    this replaces your listener object by a function, which should then declare the needed functions in the listener. It is just an idea, i did not test it yet.