Android Gear SDK安全文件传输文件\u IO错误

Android Gear SDK安全文件传输文件\u IO错误,android,samsung-mobile,tizen-web-app,tizen-wearable-sdk,samsung-mobile-sdk,Android,Samsung Mobile,Tizen Web App,Tizen Wearable Sdk,Samsung Mobile Sdk,我正在尝试使用三星移动SDK将文件从Android主机发送到三星Gear设备,无论我如何尝试,总是会出现文件IO错误 我正在尝试所有可用的权限(两侧) 有人能给我一些提示吗 安卓端: String filename = "file:///storage/emulated/0/Download/TestRecipe2-25.zip"; if (mGuruAgentService != null) mGuruAgentService.sendFile(filename); public int

我正在尝试使用三星移动SDK将文件从Android主机发送到三星Gear设备,无论我如何尝试,总是会出现文件IO错误

我正在尝试所有可用的权限(两侧)

有人能给我一些提示吗

安卓端:

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);

}
}
函数fileReceiveInt(){
var newFilePath=“downloads/file.zip”;
var receivefilecallback=
{
onreceive:函数(transferId、文件名)
{
console.log(“来自远程对等代理的传入文件传输请求。transferId:“+transferId+”文件名:“+fileName”);
试一试{
gFileTransfer.receiveFile(transferId,newFilePath);
}捕获(e){
日志(“错误异常,错误名称:+e.name+”,错误消息:+e.message);
}
},
onprogress:函数(transferId,progress)
{
log(“onprogress transferId:+transferId+”,progress:+progress);
},
oncomplete:函数(transferId、localPath)
{
console.log(“文件传输完成。transferId:+transferId”);
},
onerror:函数(错误代码、传输ID)
{
日志(“FileReceiveError transferId:+transferId+”代码:+errorCode);
}
}
试一试{
console.log('设置接收接口');
gFileTransfer=SAAgent.getSAFileTransfer();
gFileTransfer.setFileReceiveListener(receivefilecallback);
}捕捉(错误){
log('getSAFileTransfer异常:'+错误消息);
}
}
我将始终在tizen中获得一个错误,其中包含文件IO错误:( 我在测试gFileTransfer.receiveFile(transferId,“”);的默认路径,以及File:///opt/usr/media/Downloads...

我的tizen特权:

<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端更改为: 字符串filename=Environment.getExternalStorageDirectory()+“/Download/TestRecipe2-25.zip”

将Tizen一侧改为: var newFilePath=”file:///opt/usr/media/Downloads/file.zip“