0

我在 Java 中有一个静态块。如何运行它的静态初始化块。

我在这个解决方案中看到 如何使用(a)smack 在 Android 上保持 XMPP 连接稳定?

https://android.googlesource.com/platform/external/smack/+/master/src/org/jivesoftware/smack/ReconnectionManager.java

static {
try {
    Class.forName("org.jivesoftware.smack.ReconnectionManager");
} catch (ClassNotFoundException ex) {
    // problem loading reconnection manager
}

}

4

2 回答 2

3

当您调用 SmackAndroid.init(Context) 时,它会自动调用这些静态类,您可以检查 asmack 代码以进行澄清。

如果您有任何与重新连接相关的问题,那么您可以查看我的答案,它对我有用。 https://stackoverflow.com/a/23307341/2729665

于 2014-04-26T06:28:50.593 回答
0

加载类时运行静态初始化程序块。如果没有其他东西可以加载该类,您可以调用Class.forName它来加载它:

try {
    Class.forName("full.name.of.YourClass");
} catch (ClassNotFoundException ex) {
    // installation error? Class not found.
    ex.printStackTrace();
}
于 2013-09-20T08:56:11.467 回答