我有一个单例类接收回调并处理它们,但是从不在源代码中调用该类。问题是Java没有初始化这个类,因为它没有在源代码中使用,所以我永远不会收到回调。我已经考虑过手动调用它,但如果类会自动初始化,我会更喜欢它。
我已经尝试使用static initializer,但这也没有被调用。
问题:初始化此静态类的最佳方法是什么?
private static PushNotificationReceiver receiver = new PushNotificationReceiver();
private PushNotificationReceiver() { }
public static PushNotificationReceiver getInstance() { return receiver; }
private static final String TAG = "MsgService";
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
//Message is received, do something.
}
编辑1:我找到了一个解决方案,但这只是手动调用该类。真的没有其他更好的选择会自动完成吗? https://stackoverflow.com/a/9130560/4653908