Tizen samsung носить доступ по bluetooth

Я пытаюсь получить доступ к API Bluetooth в среде разработки Samsung Wear для Gear 2. Я успешно добавил определения WIDLPROCXML из обычной среды IDE в Wear IDE и могу получить доступ к поддержке содержимого для всех tizen.bluetooth.xx функций.

В Wear IDE в app.js файле ниже при вызове функции bluetooth.address консоль не определена. Я знаю, что Tizen намеренно пытается запретить доступ к Bluetooth, чтобы следить только за устройствами Samsung, но, будучи открытой платформой, я хотел бы, чтобы мое собственное приложение взаимодействовало с другими устройствами Bluetooth (например, iPhone, другими радиостанциями) и т. Д.

Любые советы о том, как я могу получить доступ к полному API Bluetooth, были бы полезны. Интересно, связано ли это с механизмом управления приложениями во время выполнения в Интернете или с файлом конфигурации, который можно изменить на устройстве. Я знаю, что доступ к Bluetooth возможен, поскольку у Samsung есть собственный 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) :Bluetooth is supported
js/app.js (12) :undefined
js/app.js (16) :Tizen
js/app.js (19) :NotSupportedError: Bluetooth turn off is not supported

Любые идеи?


person Macgyver1    schedule 04.08.2014    source источник


Ответы (1)


Вкратце: вы не можете.

Возможности Bluetooth не доступны для JavaScript в профиле носимого устройства, поэтому вы не можете получить к ним доступ. Это не только вопрос блокировки ACE или WRT: ваш доступ, на данный момент WRT просто не имеет этой возможности на носимых устройствах.

person m.wasowski    schedule 06.08.2014
comment
Можете ли вы ответить, почему одни функции Bluetooth API работают, а другие - нет? В частности, функция setPower (true работает, поскольку другие не будут DiscoverDevices и т. Д.? Также я могу получить доступ к Bluetooth через системную шину или шину сеанса из Wear IDE? Как Samsung получает доступ к Bluetooth через свой протокол аксессуаров? - person Macgyver1; 06.08.2014
comment
Они не работают, потому что не поддерживаются - это означает, что для этого нет рабочей реализации, и слой JS- ›C / C ++ выбрасывает NotSupportedError. Я не знаю, почему было принято такое решение, я могу подозревать, что могли быть некоторые варианты использования, когда это было важно, что bluetooth всегда включен (важно для приложений лидер-последователь). И, конечно же, некоторые приложения Samsung работают вне WRT как собственные приложения или получают больше привилегий другим способом (есть несколько уровней, WRT / ACE, filerights, SMACK). - person m.wasowski; 07.08.2014