Невозможно включить телевизор Samsung Tizen с помощью предоставленных API

У меня есть приложение Tizen для управления такими операциями телевизора, как регулировка громкости, выключение питания и т. д. Я использую b2bapis для выключения и включения питания, но не могу найти для него соответствующую документацию. Я могу выключить свой телевизор Samsung Tizen, используя следующий метод:

b2bapis.b2bcontrol.setPowerOff(() => {
  console.info('Success');
}, (err)=> {
  console.info('err: ', err)
});

но я не могу снова включить телевизор таким способом:

b2bapis.b2bpower.setPowerOn(()=> {
    console.info('Success');
}, (err)=> {
    console.info('err: ', err)
})

получая следующую ошибку с сообщением: у вас нет прав:

Ничего не указано, какую привилегию мне не хватает. Вот список привилегий, которые я упомянул в своем заявлении:

    <tizen:privilege name = "http://tizen.org/feature/display.state"/>
    <tizen:privilege name = "http://developer.samsung.com/privilege/b2bpower"/>
    <tizen:privilege name = "http://tizen.org/privilege/tv"/>
    <tizen:privilege name = "http://developer.samsung.com/privilege/systemcontrol"/>
    <tizen:privilege name = "http://tizen.org/privilege/remotepower"/>
    <tizen:privilege name = "http://tizen.org/privilege/power"/>
    <tizen:privilege name = "http://tizen.org/privilege/tv.display"/>
    <tizen:privilege name = "http://developer.samsung.com/privilege/display"/>
    <tizen:privilege name = "http://developer.samsung.com/privilege/avplay"/>
    <tizen:privilege name = "http://tizen.org/privilege/mediastorage"/>
    <tizen:privilege name = "http://tizen.org/privilege/filesystem.read"/>
    <tizen:privilege name = "http://tizen.org/privilege/filesystem.write"/>
    <tizen:privilege name = "http://tizen.org/privilege/mediastreaming"/>
    <tizen:privilege name = "http://tizen.org/privilege/mediacontroller.client"/>
    <tizen:privilege name = "http://tizen.org/privilege/internet"/>
    <tizen:privilege name = "http://tizen.org/privilege/drm"/>
    <tizen:privilege name = "http://developer.samsung.com/privilege/b2bcontrol"/>
    <tizen:privilege name = "http://tizen.org/privilege/tv.inputdevice"/>
    <tizen:privilege name = "http://developer.samsung.com/privilege/contentsdownload"/>
    <tizen:privilege name = "http://developer.samsung.com/privilege/drmplay"/>
    <tizen:privilege name = "http://developer.samsung.com/privilege/tvinfo"/>
    <tizen:privilege name = "http://tizen.org/privilege/application.launch"/>
    <tizen:privilege name = "http://tizen.org/privilege/tv.window"/>
    <tizen:privilege name = "http://tizen.org/privilege/tv.product"/>
    <tizen:privilege name = "http://tizen.org/privilege/tv.videoplayer"/>
    <tizen:privilege name = "http://tizen.org/privilege/miscdevetc"/>
    <tizen:privilege name = "http://developer.samsung.com/privilege/network.public"/>
    <tizen:privilege name = "http://tizen.org/privilege/appmanager.kill"/>

конфиг.xml:

<?xml version = "1.0" encoding = "UTF-8"?>
<widget xmlns:tizen = "http://tizen.org/ns/widgets" xmlns = "http://www.w3.org/ns/widgets" id = "http://yourdomain/TizenWebApp" version = "1.0.0" viewmodes = "fullscreen">
    <tizen:application id = "y7BqtdUB70.TizenWebApp" package = "y7BqtdUB70" required_version = "2.3"/>
    <content src = "index.html"/>
    <feature name = "http://tizen.org/feature/screen.size.normal.1080.1920"/>
    <icon src = "icon.png"/>
    <tizen:metadata key = "http://tizen.org/metadata/app_ui_type/base_screen_resolution" value = "extensive"/>
    <name>Tizen Web App</name>
    <tizen:privilege name = "http://tizen.org/feature/display.state"/>
    <tizen:privilege name = "http://developer.samsung.com/privilege/b2bpower"/>
    <tizen:privilege name = "http://tizen.org/privilege/tv"/>
    <tizen:privilege name = "http://developer.samsung.com/privilege/systemcontrol"/>
    <tizen:privilege name = "http://tizen.org/privilege/remotepower"/>
    <tizen:privilege name = "http://tizen.org/privilege/power"/>
    <tizen:privilege name = "http://tizen.org/privilege/tv.display"/>
    <tizen:privilege name = "http://developer.samsung.com/privilege/display"/>
    <tizen:privilege name = "http://developer.samsung.com/privilege/avplay"/>
    <tizen:privilege name = "http://tizen.org/privilege/mediastorage"/>
    <tizen:privilege name = "http://tizen.org/privilege/filesystem.read"/>
    <tizen:privilege name = "http://tizen.org/privilege/filesystem.write"/>
    <tizen:privilege name = "http://tizen.org/privilege/mediastreaming"/>
    <tizen:privilege name = "http://tizen.org/privilege/mediacontroller.client"/>
    <tizen:privilege name = "http://tizen.org/privilege/internet"/>
    <tizen:privilege name = "http://tizen.org/privilege/drm"/>
    <tizen:privilege name = "http://developer.samsung.com/privilege/b2bcontrol"/>
    <tizen:privilege name = "http://tizen.org/privilege/tv.inputdevice"/>
    <tizen:privilege name = "http://developer.samsung.com/privilege/contentsdownload"/>
    <tizen:privilege name = "http://developer.samsung.com/privilege/drmplay"/>
    <tizen:privilege name = "http://developer.samsung.com/privilege/tvinfo"/>
    <tizen:privilege name = "http://tizen.org/privilege/application.launch"/>
    <tizen:privilege name = "http://tizen.org/privilege/tv.window"/>
    <tizen:privilege name = "http://tizen.org/privilege/tv.product"/>
    <tizen:privilege name = "http://tizen.org/privilege/tv.videoplayer"/>
    <tizen:privilege name = "http://tizen.org/privilege/miscdevetc"/>
    <tizen:privilege name = "http://developer.samsung.com/privilege/network.public"/>
    <tizen:privilege name = "http://tizen.org/privilege/appmanager.kill"/>
    <tizen:profile name = "tv-samsung"/>
    <tizen:setting screen-orientation = "auto-rotation" context-menu = "enable" background-support = "enable" encryption = "disable" install-location = "auto" hwkey-event = "enable"/>
</widget>

Среда:

  • Телевизор Samsung Tizen (версия ОС: 6.0) (номер модели: HG43AU800EUXEN).
  • Сервер WebSocket — использование пакета Java для отправки команд в мое приложение Tizen.
  • Приложение Tizen слушает команды из пакета Java.

Я что-то делаю не так или есть альтернатива?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
171
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Следует проверить «http», как и другие

<tizen:privilege name = "https://developer.samsung.com/privilege/b2bpower"/>

Я уже добавил эту привилегию в config.xml, и ее также можно найти в приведенном выше фрагменте кода. Но это не сработало.

user21744620 11.06.2024 14:41

Не могли бы вы обновить примеры кодов с <tizen:privilege name = "https://developer.samsung.com/privilege/b2bpower"/> на <tizen:privilege name = "http://developer.samsung.com/privilege/b2bpower"/>? Во избежание недопонимания...

Lunch Basketball 12.06.2024 06:34

@LunchBasketball, я тоже пробовал это, но выдает ту же ошибку, что и упомянутая выше в вопросе: у вас нет привилегий. Нужно ли мне что-то делать, чтобы получить доступ к b2bapis для включения и выключения питания?

user21744620 12.06.2024 09:18

Не могли бы вы поделиться всем содержимым файла config.xml? Несовпадение «required_version» и версии файла config.xml может вызвать аналогичную проблему безопасности.

Lunch Basketball 12.06.2024 09:36

Да, конечно, я обновил свой вопрос и поделился фрагментом кода для config.xml.

user21744620 12.06.2024 11:37

Спасибо @LunchBasketball и автору за вашу поддержку.

user21744620 13.06.2024 09:00
Ответ принят как подходящий

<tizen:application id="y7BqtdUB70.TizenWebApp" package="y7BqtdUB70" require_version="2.3"/> Требуемая версия приложения слишком низкая. Пожалуйста, обновите его до версии 2.4 или выше.

Другие вопросы по теме

JavaScript Array Каждый метод передает аргумент, показывающий undefine для функции обратного вызова лямбда стрелки
Модуль Next.Js не найден: невозможно разрешить проблему после изменения пути
Инструмент «Пропустить тип» решает проблему необязательных атрибутов
API драматурга получает машинописный текст неопределенного значения
Панель навигации с размытием не показывает эффект, когда за ней находится элемент с каким-либо типом анимации?
Как имитировать только данные, за исключением другой информации (isLoading, isError и т. д.), возвращаемой из пользовательского перехватчика с помощью useQuery?
Использовать вывод типа, чтобы функция возвращала только определенное значение?
Фильтрация ненулевого значения из массива в typectipt
TypeScript больше не может правильно проверять существование свойств, как только проверки передаются функции?
Сделайте свойство необязательным, если универсальный тип не определен