ServiceDiscoveryManager sdm = ServiceDiscoveryManager
.getInstanceFor(connection); if (sdm == null)
sdm = new ServiceDiscoveryManager(connection);
sdm.addFeature("http://jabber.org/protocol/disco#info");
sdm.addFeature("http://jabber.org/protocol/disco#item");
sdm.addFeature("jabber:iq:privacy"); FileTransferManager fileTransferManager = new FileTransferManager(
connection);
FileTransferNegotiator.setServiceEnabled(connection, true);
OutgoingFileTransfer fileTransfer = fileTransferManager
.createOutgoingFileTransfer("admin@xp-201305041638/Spark2.6.3");
File file = new File(filename); InputStream inputStream;
try {
if (true) {
System.out.println("文件路径 : " + file.getPath());
inputStream = new FileInputStream(file);
fileTransfer.sendStream(inputStream, file.getName(),
file.length(), file.getName());
while (true) {
if (file.length() == fileTransfer.getBytesSent()) {
return true;
}
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// System.out.println("发送进度 : " +
// fileTransfer.getProgress());
System.out.println("文件大小 : " + file.length()
+ " ; 发送进度: "
+ (double) fileTransfer.getBytesSent());
}
} } catch (FileNotFoundException e) {
e.printStackTrace();
}
我用的是 asmack-android-8-0.8.3.jar 这个版本运行不报错 但就是传不了文件 fileTransfer.getBytesSent() 个的值 始终是 -1.0求帮助......