android asmack 传输文件接收文件内容为空,求高手

heminhao 发布于 2013/02/02 09:51
阅读 3K+
收藏 0
我的代码:IncomingFileTransfer transfer = request.accept();我发现transfer 里面的输入流为null,所以我的文生成里面是空的.

接收端:
ServiceDiscoveryManager sdm = ServiceDiscoveryManager
.getInstanceFor(conn);
if (sdm == null)
sdm = new ServiceDiscoveryManager(conn);
sdm.addFeature("http://jabber.org/protocol/disco#info");
sdm.addFeature("http://jabber.org/protocol/disco#item");
sdm.addFeature("jabber🇮🇶privacy");
// Create the file transfer manager
final FileTransferManager managerListner = new FileTransferManager(
conn);
FileTransferNegotiator.setServiceEnabled(conn, true);
// FileTransferNegotiator.IBB_ONLY = false;
Log.i("File transfere manager", "created");
// Create the listener
managerListner
.addFileTransferListener(new FileTransferListener() {
@Override
public void fileTransferRequest(
final FileTransferRequest request) {
Log.i("Recieve File",
"new file transfere request  new file transfere request   new file transfere request");
Log.i("file request",
"from" + request.getRequestor());
IncomingFileTransfer transfer = request.accept();
Log.i("Recieve File alert dialog", "accepted");
File file = new File("/sdcard/test/"
+ request.getFileName());
//
try {
if (!file.exists()) {
Log.i("have no file", file.getPath());
// file.createNewFile();
}
transfer.recieveFile(file);
} catch (Exception e) {
e.printStackTrace();
}
}
});

发送端:
 ServiceDiscoveryManager sdm = ServiceDiscoveryManager
 .getInstanceFor(conn);
 if (sdm == null)
 sdm = new ServiceDiscoveryManager(conn);
 sdm.addFeature("http://jabber.org/protocol/disco#info");
         sdm.addFeature("http://jabber.org/protocol/disco#item");
 sdm.addFeature("jabber🇮🇶privacy");

FileTransferManager manager = new FileTransferManager(conn);
 FileTransferNegotiator.setServiceEnabled(conn, true);
OutgoingFileTransfer transfer = manager
.createOutgoingFileTransfer(user);

transfer.sendFile(file, "data backup");
跟了一下发现IncomingFileTransfer transfer = request.accept();里面的输入流为null,好像是因为这样导致我生成的文件内容为空,求助各位高手
加载中
0
linuxhunter
linuxhunter
请问你解决了吗?我也遇到同样的问题了。
返回顶部
顶部