我已经能够使用var adapter = tizen.bluetooth.getDefaultAdapter();
访问默认的蓝牙适配器,它现在可以正常工作。但是当我使用var adapter = tizen.bluetooth.getLEAdapter();
用于低能量蓝牙适配器时,我没有得到所需的蓝牙适配器对象,即它们没有像默认适配器那样的名称,mac地址等参数。当我调用LEAdapter的adapter.startScan()
函数时,它不会返回任何结果。我假设所有最新的智能手机也支持低能量适配器。
我在清单中加入了以下优点。
<tizen:privilege name="http://tizen.org/privilege/bluetooth.gap"/>
<tizen:privilege name="http://tizen.org/privilege/bluetooth.admin"/>
<tizen:privilege name="http://tizen.org/privilege/bluetooth.spp"/>
<tizen:privilege name="http://tizen.org/privilege/bluetooth.health"/>
我在这里做错了什么?
答案 0 :(得分:1)
getLEAdapter()获取默认的低能耗蓝牙适配器。您可以尝试捕获异常:
try
{
var adapter = tizen.bluetooth.getLEAdapter();
}
catch (err)
{
console.log(err.name + ": " + err.message);
}
异常:从getLEAdapter()
抛出WebAPIExceptionSecurityError,如果应用程序没有权限调用此方法。
NotSupportedError,如果不支持该功能。
UnknownError,如果发生任何其他错误。
try
{
/* Checks if a device supports bluetooth API */
var bluetooth = tizen.systeminfo.getCapability("http://tizen.org/feature/network.bluetooth.le");
console.log(" Bluetooth = " + bluetooth);
}
catch (error)
{
console.log("Error name: " + error.name + ", message: " + error.message);
}