我正在使用E4 RCP应用程序,我希望当用户双击特定文件类型时使其正确响应。到目前为止,文件的扩展名通过写入寄存器与操作系统相关联,当双击它时,应用程序就会启动。我面临的问题是,当我双击文件时,应用程序不知道如何处理文件,它启动但它不加载文件中的数据。如果你能告诉我该怎么做,我将非常感谢你的帮助。我想我需要一个听众,但我不知道在哪里。 提前谢谢。
答案 0 :(得分:1)
e4应用程序不会对打开文件做任何事情,除非你编写一些代码来实现它。
您可以注入IApplicationContext
以获取有关程序命令行参数的信息:
final String [] args = (String [])applicationContext.getArguments().get(IApplicationContext.APPLICATION_ARGS);
参数将包含要打开的文件的名称。
如果您想要打开MPart
之类的话,那么您需要通过订阅事件经纪人中的事件来等待应用程序启动完成事件:
eventBroker.subscribe(UIEvents.UILifeCycle.APP_STARTUP_COMPLETE, handler);
您可以在生命周期类的@PostContextCreate
创建方法中进行设置。