Estoy tratando de implementar la transferencia de archivos en mi proyecto, pero no puedo crear el objeto FileTransferManager, dice:
FileTransferManager (org.jivesoftware.smack.Connection) en FileTransferManager no se puede aplicar a (org.jivesoftware.smack.tcp.XMPPTCPConnection)
Aquí está mi código:
FileTransferManager manager = new FileTransferManager(connection); // Where connection is an object of XMPPTCPConnectionUsando Smack 4.2.0 y servidor Openfire
El problema podría ser la versión del smack jar. Con una versión reciente, como la 3.2.1, debería funcionar.
Si estamos hablando de la clase org.jivesoftware.smackx.filetransfer.FileTransferManager, no tiene un constructor público, sin embargo, tiene un método de fábrica estático:
public static synchronized FileTransferManager getInstanceFor(XMPPConnection connection)así que intentaría lo siguiente:
FileTransferManager manager = FileTransferManager.getInstanceFor(connection);¿Estás seguro de que importaste una clase correcta? Porque no debería poder llamar a su constructor en absoluto.
Puede usar getDefaultFileTransferManager para lograrlo:
public static FileTransferManager getDefaultFileTransferManager(FileTransferAuth fileTransferAuth) throws ClientException, ServiceExceptionreferencia: documento oficial para Class FileTransferManager