Please use this file to transfer files to asmack. I did this and checked. His work is wonderful.
to get the file use this method
public void ReceiveFile() { Thread thread = new Thread() { public void run() { ServiceDiscoveryManager sdm = ServiceDiscoveryManager .getInstanceFor(connection); if (sdm == null) sdm = new ServiceDiscoveryManager(connection); sdm.addFeature("http://jabber.org/protocol/disco#info"); sdm.addFeature("jabber:iq:privacy"); // Create the file transfer manager final FileTransferManager managerListner = new FileTransferManager( connection); FileTransferNegotiator .setServiceEnabled(connection, true); Log.i("File transfere manager", "created"); // Create the listener managerListner .addFileTransferListener(new FileTransferListener() { 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"); try { transfer.recieveFile(new File("/sdcard/" + request.getFileName())); while (!transfer.isDone() || (transfer.getProgress() < 1)) { Thread.sleep(1000); Log.i("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.i("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(); }
just ask me if you have any questions regarding transferring files to xmpp using asmack lib.
thanks
source share