Реклама показывается только незарегистрированным пользователям. Вход или Регистрация

Программный доступ к USB-накопителю/флешке в ТВ

Программирование для webOS, инструменты разработки, документация, обмен опытом

Программный доступ к USB-накопителю/флешке в ТВ

Сообщение JackSparrow » 07 июл 2024, 21:33

С форума поддержки разработчиков приложений для LG webOS.
Вопрос от разработчика:
prabhakar писал(а):Мы разрабатываем образовательное приложение для устройства LG webOS, которое работает в автономном режиме с помощью флешки. Однако у нас возникли проблемы с доступом к пути к флешки для отображения её содержимого. Не могли бы вы помочь нам с этой проблемой?

Ответ:
narae0.kim писал(а):По соображениям безопасности приложения не могут получить доступ к USB. Извините, что не смог помочь.

Комментарий от белорусского разработчика
Andrei писал(а):Пользовательские приложения живут в джейлах и не видят файловую систему за его пределами, хотя мне казалось что раньше видели /tmp/usb.
Системные приложения видят файловую систему. С рутом можно придать пользовательским приложений статус системных.

Есть такой ipk приложения типа эксплорер, им вроде можно флешку читать, можете попробовать.
com.gilvitzi.explorer_1.0.0_all.ipk
(26.76 КБ) Скачиваний: 8

В этом приложении эксплорер как раз используется FS Node сервис, можете использовать у себя.
Код: Выделить всё
var Service = require ('webos-service') ;
var service = new Service ("com.gilvitzi.explorer.service"  ;) ;
var fs = require ('fs') ;
var path = require ("path"  ;) ;

service.register ("getFiles", function (message) {
 var dir = message.payload.path;
 dir = path.normalize (dir) ;
 fs.readdir (dir, function (err, files) {
 if (err) {
 message.respond (err) ;
 return;
 }
 var data = [];
 
 files.forEach (function (file) {
 var entry = { name: file };
 entry.hidden = (file.indexOf (". "  ;) == 0) ;

 var isFile = false;
 entry.type = "folder";

 try {
 var stats = fs.statSync (path.join (dir, file)) ;
 isFile = stats.isFile () ;
 if (isFile) {
  entry.size = stats["size"];
  entry.type = "file";
 }
 } catch (ex) {}
 
 data.push (entry) ;
 }) ;
 
 console.log (data) ;

 message.respond ({
 path: dir,
 data: data
 }) ;
 }) ;
 
}) ;


Для придания приложению статуса системного:
Код: Выделить всё
/media/developer/apps/usr/palm/services/org.webosbrew.hbchannel.service/elevate-service your.service.name
https://www.webosbrew.org/pages/glossary.html
JackSparrow

 
Сообщения: 9800
Зарегистрирован: 10 июн 2018, 17:48
Благодарил (а): 1460 раз.
Поблагодарили: 1684 раз.
Телевизор: LG OLED 55C9

Вернуться в Разработка и создание программ для LG webOS



 


  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение