Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用smack api的文件传输问题_Java_Android - Fatal编程技术网

Java 使用smack api的文件传输问题

Java 使用smack api的文件传输问题,java,android,Java,Android,我正在使用smack api和open fire xmmp服务器进行文件传输, 我做了发送文件的代码 try { servicemanager = new ServiceDiscoveryManager(connection); manager = new FileTransferManager(connection); FileTransferNegotiator.setServiceEnabled(connection, true);

我正在使用smack api和open fire xmmp服务器进行文件传输, 我做了发送文件的代码

try {
        servicemanager = new ServiceDiscoveryManager(connection);
        manager = new FileTransferManager(connection);
        FileTransferNegotiator.setServiceEnabled(connection, true);
        OutgoingFileTransfer transfer = manager
                .createOutgoingFileTransfer(receid);
        System.out.println(connection);
        transfer.sendFile(new File(comppath), "hi");
        while (!transfer.isDone()) {

            Toast.makeText(this,
                    "status." + transfer.getStatus().toString(),
                    Toast.LENGTH_LONG).show();

            // System.out.println(transfer.getStreamID() + " is done!");
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                Toast.makeText(this, "corrupted..", Toast.LENGTH_LONG)
                        .show();
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
publicvoidoncreate(bundleicicle)
中,我为文件传输做了lisener

super.onCreate(icicle);
servicemanager = new ServiceDiscoveryManager(connection);
    FileTransferNegotiator.setServiceEnabled(connection, true);

    manager = new FileTransferManager(connection);

    manager.addFileTransferListener(new FileTransferListener() {
        public void fileTransferRequest(FileTransferRequest request) {
            Log.d("", "allows file...");
            if (request != null) {
                // Accept it
                IncomingFileTransfer transfer = request.accept();
                try {

                    /*String pathsd = Environment
                            .getExternalStorageDirectory().toString();*/

                    String path = "/sdcard/"+ request.getFileName();
                    transfer.recieveFile(new File(path));

                    // transfer.recieveFile(new
                    // File(request.getFileName()));
                    // System.out.println("File " +
                    // request.getFileName() + "Received Successfully");
                    Log.d("", "rece: " + request.getFileName());
                    Log.d("", "path: " + request.getFileName());
                    // InputStream input = transfer.recieveFile();
                } catch (XMPPException ex) {
                    Log.d("", "er: " + ex);
                }
            } else {
                Log.d("", "reject file...");
                request.reject();
            }
        }
    });
在这里,lisener没有任何反应..在另一边

这是我的错


提前谢谢。

我也遇到同样的问题,有人能帮我吗?…没有。。我用了其他方法,比如使用Apache tomcat存储和检索文件。@Kstar ohh好吧,那么它工作得完美吗?在android中使用Smack library和open fire Server进行文件传输时出现问题,在其他设备上接收到空文件,同时将文件从一个设备传输到另一个设备,其大小显示为0KB。当我打开它时,它显示空白屏幕。我不知道它背后的问题是什么,,,请帮助我。。。我正在使用此链接实施: