【发布时间】:2011-04-24 09:42:44
【问题描述】:
我想同时运行后台服务应用程序和 UIApplication。
是否可以在同一个项目中创建两者或需要创建单独的单独项目。
实际上我对如何在事件线程中调用或启动后台服务感到困惑。
【问题讨论】:
标签: blackberry
我想同时运行后台服务应用程序和 UIApplication。
是否可以在同一个项目中创建两者或需要创建单独的单独项目。
实际上我对如何在事件线程中调用或启动后台服务感到困惑。
【问题讨论】:
标签: blackberry
您可以通过以下方式为您的应用程序设置备用入口点:
A- 使用 BlackBerry® Java® Plug-in for Eclipse®
为原始应用程序创建项目后,创建一个备用入口点以启动应用程序 UI。
1- 双击项目中的 BlackBerry_App_Descriptor.xml。
2- 勾选系统模块,不要在黑莓主屏幕上显示应用程序图标。
3-单击备用入口点选项卡。
4- 单击添加按钮。
5- 输入入口点的标题,然后单击“确定”。
6- 指定将使用此备用入口点启动应用程序的应用程序参数(例如:gui)。
7- 继续“常用步骤”部分。
8- 修改原项目的main()方法如下:
public static void main(String[] args) {
if ( args != null && args.length > 0 && args[0].equals("gui") ){
// code to initialize the app
theApp.enterEventDispatcher();
} else {
// code to launch the background thread }
}
}
B- 使用 BlackBerry JDE
为原始应用程序创建项目后,您必须为 UI 入口点创建另一个项目。假设要运行的线程与原始应用程序存在于同一个项目中,请按以下步骤操作:
1- 右键单击项目节点并选择属性。
2- 在“属性”窗口中,选择“应用程序”选项卡。
3- 验证是否选中了以下选项:启动时自动运行和系统模块(向系统注册线程)。
4- 在与原始项目相同的文件夹下创建另一个项目。右键单击新项目节点并选择属性。
5- 选择应用程序选项卡,然后从项目类型下拉列表中选择备用 CLDC 应用程序入口点。如附件所示,从 Alternate entry point for 下拉列表中选择原始项目的名称(例如,trafficreporter)。还要指定将使用此备用入口点启动应用程序的参数(例如:gui)。
继续执行通用步骤部分。
6- 修改原项目的main()方法如下:
public static void main(String[] args) {
if ( args != null && args.length > 0 && args[0].equals("gui") ){
// code to initialize the app
theApp.enterEventDispatcher();
} else {
// code to launch the background thread }
}
}
【讨论】:
Blackberry 开发者论坛充满了主题和示例代码来完成这件事。
就个人而言,我使用备用入口点方法,将后台应用程序作为自动启动 UiApplication(没有图标)运行,它从不推送 MainScreen,但使用自己的调度线程抛出对话框或类似通知,然后当实际的主页图标被按下/单击,我启动 Ui 入口点与用户一起玩。
【讨论】: