You can Try this :::
For Receive file ::
FileTransferManager file = new FileTransferManager(connection);
file.addFileTransferListener(new FileTransferListener() {
@Override
public void fileTransferRequest(
final FileTransferRequest request) {
// TODO Auto-generated method stub
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
// TODO Auto-generated method stub
Log.e("Recieve File",
"new file transfere request new file transfere request new file transfere request");
Log.e("file request",
"from" + request.getRequestor());
IncomingFileTransfer transfer = request
.accept();
Log.e("Recieve File alert dialog", "accepted");
try {
File root = android.os.Environment
.getExternalStorageDirectory();
File dir = new File(root.getAbsolutePath()
+ "/download");
dir.mkdirs();
transfer.recieveFile(new File("/sdcard/"
+ request.getFileName()));
while (!transfer.isDone()
|| (transfer.getProgress() < 1)) {
Thread.sleep(1000);
Log.e("Recieve File alert dialog",
"still receiving : "
+ (transfer
.getProgress())
+ " status "
+ transfer.getStatus());
if (transfer.getStatus().equals(
Status.error)) {
// Log.i("Error file",
// transfer.getError().getMessage());
Log.e("Recieve File alert dialog",
"cancelling still receiving : "
+ (transfer
.getProgress())
+ " status "
+ transfer
.getStatus());
transfer.cancel();
break;
}
}
} catch (XMPPException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
thread.start();
}
});
2) For Send File
----------------------------------------
public static void setFilename(String filename, final String filepath) {
@SuppressWarnings("deprecation")
String FileName = URLDecoder.decode(filename);
demo.globr.Utils.Log.print("Filename :: " + FileName);
String FilePath = filepath.substring(7, filepath.length());
demo.globr.Utils.Log.print("filepath :: " + FilePath);
Thread t = new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
ProviderManager.getInstance().addIQProvider("query",
"http://jabber.org/protocol/bytestreams",
new BytestreamsProvider());
ProviderManager.getInstance().addIQProvider("query",
"http://jabber.org/protocol/disco#items",
new DiscoverItemsProvider());
ProviderManager.getInstance().addIQProvider("query",
"http://jabber.org/protocol/disco#info",
new DiscoverInfoProvider());
XMPPConnection connection = XMPPLogic.getInstance()
.getConnection();
if (connection != null && connection.isConnected()) {
FileTransferManager manager = new FileTransferManager(
connection);
OutgoingFileTransfer transfer = manager
.createOutgoingFileTransfer(receiverId + "/Smack");
File file = new File(filepath);
try {
transfer.sendFile(file, "test_file");
} catch (XMPPException e) {
e.printStackTrace();
}
while (!transfer.isDone()) {
if (transfer.getStatus().equals(Status.error)) {
Log.e("ERROR!!! ", transfer.getError().toString());
} else if (transfer.getStatus()
.equals(Status.cancelled)
|| transfer.getStatus().equals(Status.refused)) {
Log.e("Cancelled!!! ", transfer.getError()
.toString());
}
try {
Thread.sleep(1000L);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
if (transfer.getStatus().equals(Status.refused)
|| transfer.getStatus().equals(Status.error)
|| transfer.getStatus().equals(Status.cancelled)) {
} else {
}
}
}
});
t.start();
}