据我所知,我可以通过执行bundle.getState()
来以编程方式获取捆绑状态,该方法将根据int
或以Bundle.ACTIVE
或Bundle.INSTALLED
或Bundle.RESOLVED
等表示的状态返回状态捆绑包。由于某些原因,我需要以String
的形式获取状态值,例如“ ACTIVE”,“ INSTALLED”,“ RESOLVED”等。该怎么做?
您必须进行自己的切换... OSGi在Java枚举之前就已启动。
类似:
private static String toState(int state) {
switch (state) {
case Bundle.UNINSTALLED:
return "UNINSTALLED";
case Bundle.INSTALLED:
return "INSTALLED";
case Bundle.RESOLVED:
return "RESOLVED";
case Bundle.STARTING:
return "STARTING";
case Bundle.STOPPING:
return "STOPPING";
case Bundle.ACTIVE:
return "ACTIVE";
}
return null;
}