我试图使用Samsung Mobile SDK将文件从Android主机发送到Samsung Gear设备,无论我如何尝试,始终会出现FILE_IO错误。

我正在尝试所有可用的权限(双方)。

有人可以给我任何提示吗?

Android方面:

String filename = "file:///storage/emulated/0/Download/TestRecipe2-25.zip";
if (mGuruAgentService != null) mGuruAgentService.sendFile(filename);

public int sendFile(String fileName) {
  if (mFileTransfer == null)
    registerForFileTransfer();
  if (mFileTransfer != null) {


  try {
    Log.i(TAG, "Sending file " + fileName);
    tx = mFileTransfer.send(mPeerAgent, fileName);
    return tx;
  } catch (Exception e)
  {
  Log.i(TAG, "Cannot send file" + e.getMessage());
  }

}
return 0;
}


面:

function fileReceiveInt() {
var newFilePath = "downloads/file.zip";

var receivefilecallback =
{
onreceive: function(transferId, fileName)
{
console.log("Incoming file transfer request form the remote peer agent. transferId: " + transferId + " file name : " + fileName);

try {
gFileTransfer.receiveFile(transferId, newFilePath);
} catch(e) {
console.log("Error Exception, error name : " + e.name + ", error message : " + e.message);
}
},
onprogress: function(transferId, progress)
{
console.log("onprogress transferId: " + transferId + ", progress : " + progress);
},
oncomplete: function(transferId, localPath)
{
console.log("File transfer complete. transferId: " + transferId);
},
onerror: function(errorCode, transferId)
{
console.log("FileReceiveError transferId: " + transferId + " code : " + errorCode);
}
}


try {
console.log('setting recieve interface');
gFileTransfer = SAAgent.getSAFileTransfer();
gFileTransfer.setFileReceiveListener(receivefilecallback);

} catch (err) {
console.log('getSAFileTransfer exception <' + err.name + '> : ' + err.message);

}
}


我总是在FILE_IO错误中得到onError onError :(
我正在测试gFileTransfer.receiveFile(transferId,“”);默认路径和File:/// opt / usr / media / Downloads ...

我的特权:

<tizen:privilege name="http://tizen.org/privilege/content.read"/>
<tizen:privilege name="http://developer.samsung.com/privilege/accessoryprotocol"/>
<tizen:privilege name="http://tizen.org/privilege/content.write"/>
<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/unlimitedstorage"/>


在此先感谢您的帮助。

最佳答案

更改两个文件路径,它应该可以工作。

将Android更改为:
    字符串文件名= Environment.getExternalStorageDirectory()+“ /Download/TestRecipe2-25.zip”;

将Tizen的侧面更改为:
    var newFilePath =“ file:///opt/usr/media/Downloads/file.zip”;

10-02 00:25