获取应用程序品牌信息

时间:2013-09-17 02:28:22

标签: eclipse-rcp

当Eclipse RCP IApplication启动时,它会传递一个包含大量品牌和配置信息的IApplicationContext对象。我希望得到任何相同的信息 - 即,调用getBrandingApplication()或getBrandingName()的结果 - 来自任意其他插件,而不是应用程序插件,没有应用程序插件的配合。换句话说,我是否可以在运行时调用任何方法来获取当前运行的IApplication的id或位置?

1 个答案:

答案 0 :(得分:2)

IApplicationContext被定义为OSGi服务,因此您可以使用ServiceTracker或其他访问服务方法从任何插件访问它。类似的东西:

ServiceTracker appContext = new ServiceTracker(bundle, IApplicationContext.class, null);
appContext.open();

IApplicationContext context = appContext.getService();

您还可以使用从getProperty获得的IProduct Platform.getProduct()方法来访问部分信息。

在Eclipse 4'e4'中,应用程序IApplicationContext位于Eclipse上下文中,可以注入。