无法创建 FileTransferManager 对象
Cannot create FileTransferManager object
我正在尝试在我的项目中实现文件传输,但无法创建 FileTransferManager 对象,它说:
FileTransferManager (org.jivesoftware.smack.Connection) in FileTransferManager cannot be applied to (org.jivesoftware.smack.tcp.XMPPTCPConnection)
这是我的代码:
FileTransferManager manager = new FileTransferManager(connection);
// Where connection is an object of XMPPTCPConnection
使用 Smack 4.2.0 和 Openfire 服务器
问题可能出在 smack jar 的版本上。
对于最新版本,例如 3.2.1,它应该可以工作。
如果我们谈论 class org.jivesoftware.smackx.filetransfer.FileTransferManager 它没有 public 构造函数但是它有一个静态工厂方法:
public static synchronized FileTransferManager getInstanceFor(XMPPConnection connection)
所以我会尝试以下操作:
FileTransferManager manager = FileTransferManager.getInstanceFor(connection);
你确定你导入了权限class?因为你根本不应该调用它的构造函数。
您可以使用 getDefaultFileTransferManager 来实现它:
public static FileTransferManager getDefaultFileTransferManager(FileTransferAuth fileTransferAuth)
throws ClientException,
ServiceException
我正在尝试在我的项目中实现文件传输,但无法创建 FileTransferManager 对象,它说:
FileTransferManager (org.jivesoftware.smack.Connection) in FileTransferManager cannot be applied to (org.jivesoftware.smack.tcp.XMPPTCPConnection)
这是我的代码:
FileTransferManager manager = new FileTransferManager(connection);
// Where connection is an object of XMPPTCPConnection
使用 Smack 4.2.0 和 Openfire 服务器
问题可能出在 smack jar 的版本上。 对于最新版本,例如 3.2.1,它应该可以工作。
如果我们谈论 class org.jivesoftware.smackx.filetransfer.FileTransferManager 它没有 public 构造函数但是它有一个静态工厂方法:
public static synchronized FileTransferManager getInstanceFor(XMPPConnection connection)
所以我会尝试以下操作:
FileTransferManager manager = FileTransferManager.getInstanceFor(connection);
你确定你导入了权限class?因为你根本不应该调用它的构造函数。
您可以使用 getDefaultFileTransferManager 来实现它:
public static FileTransferManager getDefaultFileTransferManager(FileTransferAuth fileTransferAuth)
throws ClientException,
ServiceException