【发布时间】:2017-10-18 17:53:40
【问题描述】:
我正在尝试在 Gear S3 上运行的 tizen Web 应用程序中获取蓝牙名称/ID。 在手表上,可以找到这些信息—— 设置 -> 连接 -> 蓝牙 -> 蓝牙 Gear S3(AAA1)。
我希望以编程方式获得 AAA1 值。是否有任何方法或 API 可以在 tizen 网络应用程序中获取值?
【问题讨论】:
-
请查看答案和回复
我正在尝试在 Gear S3 上运行的 tizen Web 应用程序中获取蓝牙名称/ID。 在手表上,可以找到这些信息—— 设置 -> 连接 -> 蓝牙 -> 蓝牙 Gear S3(AAA1)。
我希望以编程方式获得 AAA1 值。是否有任何方法或 API 可以在 tizen 网络应用程序中获取值?
【问题讨论】:
调用discoverDevices函数,您会在succesCallback参数上找到BluetoothDevice接口。
BluetoothDevice 接口代表具有以下属性的远程蓝牙设备:
DOMString 名称;
蓝牙地址地址;
蓝牙类设备类;
布尔 isBonded;
布尔 isTrusted;
布尔 isConnected;
蓝牙UUID[] uuids;
name 是您要查找的属性。 在您的情况下,名称是:'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 及更低版本)或“蓝牙”权限(适用于 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
【讨论】: