如何获取 Samsung Gear S3 智能手表 Web 应用程序的蓝牙 name/id

How to get the bluetooth name/id of Samsung Gear S3 smartwatch web application

我正在尝试在 Gear S3 上的 tizen 网络应用程序 运行 中获取蓝牙 name/id。 在手表上,可以找到这些信息—— 设置 -> 连接 -> 蓝牙 -> Bluetooth Gear S3(AAA1).

我想以编程方式获得 AAA1 值。是否有任何方法或 API 来获取 tizen 网络应用程序中的值?

调用discoverDevices函数,会在succesCallback参数中找到BluetoothDevice接口

BluetoothDevice 接口表示具有属性的远程蓝牙设备:

DOMString 名称;

蓝牙地址地址;

蓝牙类设备类;

布尔值 isBonded;

布尔值 isTrusted;

布尔值已连接

蓝牙UUID[] uuids;

姓名就是您要找的属性。 在您的情况下,名称是:'Gear S3(AAA1)'

var adapter = tizen.bluetooth.getDefaultAdapter();

var discoverDevicesSuccessCallback = {
        ondevicefound: function(device) {
            alert('Found device - name: ' + device.name);
        }
    };

adapter.discoverDevices(discoverDevicesSuccessCallback, null);

在您的 config.xml:

添加 'bluetooth.gap' 权限(对于 Tizen 2.3.2 及以下版本)或 'bluetooth' 权限(对于 Tizen 3.0 及更高版本)
<tizen:privilege name="http://tizen.org/privilege/bluetooth.gap"/>  // <=2.3.2
<tizen:privilege name="http://tizen.org/privilege/bluetooth"/>     // >=3.0

此外,如果你只需要'AAA1'而不是'Gear S3 (AAA1)',可以尝试一点正则表达式和拆分。

var deviceName = "Gear S3 (AAA1)";                  // Gear S3 (AAA1)
var removePrts = deviceName.replace(/[()]/g,'');    // Gear S3 AAA1
var shortName = removePrts.split(' ');              // Gear,S3,AAA1
alert(shortName[2]);                                // AAA1