我需要您帮助了解如何从Tizen智能电视的外部USB存储中写入和读取文件。检测到问题时会出现问题
`
/**
* Hello World Sample Project
*/
// import Label component
var Label = caph.require('ui.base.component.Label');
caph.app.addScene('main', $class({
$extends : caph.require('ui.base.Scene'),
// oncreate is called when the scene is created
oncreate : function() {
// add "Hello World"
this.addChild(new Label({
text : 'Hello World',
size : [ 500, 100 ],
position : [ 300, 400 ]
}).setTextSize('72px').setStyle({
backgroundColor : 'red',
color : 'white'
}));
/// Here the filesystem showd show me all the storages
tizen.filesystem.listStorages(checkCorruptedRemovableDrives);
}
})).run();
`
这是成功回调,这显示了我有多少存储空间。 ` / *成功事件处理程序* / var checkCorruptedRemovableDrives = function(storages){
/// Here I will kow how much storages I have
console.log(storages.length);
for (var i = 0; i < storages.length; i++) {
if (storages[i].type != "EXTERNAL")
continue;
if (storages[i].state == "UNMOUNTABLE")
console.log("External drive " + storages[i].label + " is corrupted.");
}
};
`
以下是出现错误时抛出的方法,永远不会调用此方法。
var checkCorruptedRemovableDrivesError = function(storages){
console.log("Error");
}
现在,控制台输出远离一个简单的0
意味着我没有存储空间(但我安装了内置的一个和两个usb)。
有人遇到过这个问题,或者对如何解决这个问题有任何想法?
答案 0 :(得分:1)
三星Tizen TV总是使用“removable2”作为USB的标签。 所以你不需要使用listStorage和getStorage。
多个USB被区分为“removable2 / sda1”,“removable2 / sda2”
tizen.filesystem.resolve("removable2", function(e){
e.listFiles(function(r){
for(i = 0; i < r.length; i++){
tizen.filesystem.resolve(r[i].path + r[i].name, function(t){
//You resolve USB root. Do something you want with USB.
}, function(t){
console.log("resolve error for " + r[i].path + r[i].name);
console.log(t);
}, "rw"); //you should use rw permission, to write something in usb.
}
});
},function(e){
console.log("removable2 resolve error");
console.log(e);
}, "r"); // permission should be given as r for removable2
这是我制作的测试应用程序。你可以查看如何使用SDK 1.5
http://www.samsungdforum.com/SamsungDForum/ForumView/3ad8bd6023af18a7?forumID=d88a711f47dc6e9f
此应用适用于电视和SDK 1.5
答案 1 :(得分:0)
您使用Web模拟器吗? API无法正常在Web模拟器中工作。它无法很好地模拟事物。
当我在&#39;模拟器&#39;中检查listStorage时,它会抛出存储列表。 但即使我可以获得存储列表,我也无法在文件系统中使用它。这是SDK 1.4的错误。
SDK 1.5将具有USB存储的测试功能,并计划在一个月内发布。等一个月:(