【问题标题】:Tizen samsung wear bluetooth accessTizen 三星穿戴蓝牙访问
【发布时间】:2014-08-04 04:22:39
【问题描述】:

我正在尝试访问 Gear 2 的三星 Wear IDE 中的蓝牙 API。我已成功将 WIDLPROCXML 定义从普通 IDE 添加到 Wear IDE,并且可以访问所有 tizen.bluetooth.xx 函数的内容辅助.

在下面app.js 文件的Wear IDE 中,调用bluetooth.address 函数时控制台结果未定义。我知道 Tizen 故意试图禁止访问蓝牙以仅在三星设备上保留他们的手表,但作为一个开放平台,我想让我自己的应用程序与其他蓝牙设备(即 iPhone、其他无线电)等进行通信。

任何有关如何访问完整蓝牙 API 的建议都会有所帮助。我想知道它是否与 Web 运行时上的应用程序控制引擎与可以在设备上更改的配置文件有关。我知道可以访问蓝牙,因为三星有自己的 API 可以连接到他们的 Galaxy 设备。

以下是示例应用程序和控制台输出:

var adapter = tizen.bluetooth.getDefaultAdapter();
var deviceCapabilities;

deviceCapabilities = tizen.systeminfo.getCapabilities();

if (deviceCapabilities.bluetooth)
{
    console.log("Bluetooth is supported");
}

console.log(adapter.address);

adapter.setPowered(true);

console.log(deviceCapabilities.platformName);


adapter.setPowered(false, successCallback, errorCallback)

控制台输出:

js/app.js (9) : 支持蓝牙 js/app.js (12) : 未定义 js/app.js (16) :Tizen js/app.js (19) :NotSupportedError: 不支持蓝牙关闭

有什么想法吗?

【问题讨论】:

    标签: bluetooth tizen tizen-wearable-sdk


    【解决方案1】:

    简而言之:你不能。

    蓝牙功能不会暴露给可穿戴配置文件上的 JavaScript,因此您无法访问它们。 这不仅仅是 ACE 或 WRT 的问题“阻止:您的访问,目前 WRT 在可穿戴设备上缺乏此功能。

    【讨论】:

    • 您能回答为什么某些蓝牙 API 功能有效而其他功能无效吗?特别是 setPower(true 函数的工作原理与其他将不会 DiscoverDevices 等一样?我还可以通过 Wear IDE 的系统总线或会话总线访问蓝牙吗?三星如何从他们的附件协议访问蓝牙?
    • 它们不起作用,因为它们不受支持 - 这意味着没有有效的实现,并且 JS->C/C++ 层抛出 NotSupportedError。我不知道为什么会做出这样的决定,我可能怀疑可能存在一些重要的用例,蓝牙始终处于开启状态(对于领导者-跟随者应用程序很重要)。当然,一些三星应用程序在 WRT 之外作为本机应用程序工作,或者以其他方式获得更多权限(层数很少,WRT/ACE,文件权限,SMACK)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 2019-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多