android - 如何使用alljoyn传输一次选择的多个文件

标签 android alljoyn

我正在尝试使用Alljoyn框架传输文件,Alljoyn给出的示例向我展示了如何发送和接收通过在fileExplorer的ListView上一键选择的一个文件。 问题是我想传输几个选定的文件,例如4 张照片,一次

在 onActivityResult() 中,当 case OFFER_SELECTED_FILE:i 修改如下:

case OFFER_SELECTED_FILE: {

    final String[] peers = ajManager.getPeers();
    //create the click listener - when a peer is selected, offer them the file
    DialogInterface.OnClickListener onPeerClicked = new DialogInterface.OnClickListener() {

        public void onClick(DialogInterface dialog, int which) {

            String peer = peers[which];
            //File file = (File) intent.getExtras().get("file"); 
            File selected = (File) intent.getExtras().get("file"); 

            ArrayList<String> filePath = new ArrayList<String>();
            filePath.add(selected.getAbsolutePath());
            //ftComponent.offerFileToPeer(peer, file.getAbsolutePath(), 1000);                      
            ftComponent.offerFileToPeer(peer, filePath, 1000);                      
        }
    };
    showPeerPickerDialog(onPeerClicked);
    break;
}

但它被公共(public)类 FileTransferComponent 拒绝,无法修改。

public int offerFileToPeer(String peer, String filePath, int timeoutMSecs) {

    return offerManager.offerFile(peer, filePath, timeoutMSecs);
}

我引用了*文件传输模块使用指南 Android*4.1.1基本文件传输流程如下:

发送方

ftComponent.announce(filePaths);

接收端

ArrayList<FileDescriptor> availableFiles = ftComponent.getAvailableRemoteFiles();
FileDescriptor selected = availableFiles.get(0);
ftComponent.requestFile(selected.owner, selected.fileId, selected.filename);

帮助,任何建议将不胜感激。我对 alljoyn 很陌生。 如果可能的话,请告诉我如何做接收器和发送器双方。thx

最佳答案

嗯,几天前我得到了解决方案,如下:

 //ready the selected the files's path list
  File selected = (File) intent.getExtras().get("file");
  filePaths = new ArrayList<String>();
  filePaths.add(selected.getAbsolutePath());    
 //in the offer event
 private FileTransferComponent ftComponent;
  for (String path : filePaths) {
      ftComponent.offerFileToPeer(peer, path, 1000);//the sample's original statement
      }

Alljoyn 示例显示我传输一个文件,因此我们只需要使用 for(a:a_list){...} 之类的东西来处理它。Alljoyn 将处理其余的事情。

ps.我对那些只说大话却没有建议输出的人感到头疼。如果你太骄傲而无法回答某些问题,请不要在这里浪费时间。谢谢。

关于android - 如何使用alljoyn传输一次选择的多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27074814/

相关文章:

c++ - Xcode 5.1.1 中关于 AllJoyn 的构建错误(找不到 alljoyn/Version.h)

ios - Alljoyn 支持 iOS 吗

java - 如何在Android中使用定时器

android - 使用多个 Google Maps API 是否违反 TOS?

homebrew - 尝试在 OSX Lion : scons: *** No SConstruct file found 上编译 v8 时出错

java - AllJoyn 错误回复总线异常

android - Firebase应用程序分发无法获取应用程序信息:[400]请求包含多个Firebase Android项目设置上的无效参数

java - 如何分割这个值31.07?

Android:Logcat] 在运行 Google 的示例记事本应用程序时找不到设备