2011-04-24 76 views

回答

1

http://supportforums.blackberry.com/t5/Java-Development/Background-thread-for-push-notifications/td-p/563071

黑莓开发论坛是全螺纹和示例代码来完成这事。

个人而言,我使用备用入口点方法,将后台应用程序作为自动启动UiApplication(不带图标)运行,但不使用MainScreen,但使用自己的调度线程抛出对话框或类似的通知,然后当实际的主图标被按下/点击时,我启动Ui入口点与用户一起玩。

+0

由于丹,但我想从事件线程中调用后台服务。可能吗?如果是的话,请告诉我如何? – 2011-04-26 07:42:22

+0

有两种方法可以完成此操作 ---方法1.创建一个包含UI和后台侦听器的应用程序,并重写close()方法,仅将其自身作为后台 - 它从不调用System.exit()也就是说。这可以完成所有的处理和UI,并且在元素之间有相当简单的通信。实现可能会很痛苦,因为您需要随处请求BackBackground。 ---方法2:我使用上述的替代入口方法,并在启动时将引用传递给我的自动运行Singleton侦听器(使用RuntimeStore Singleton)到UI应用程序中。 – Dan 2011-04-26 18:29:19

+0

嗨丹你可以显示完整的代码示例如何做到这一点? 我需要从UI应用程序安装服务应用程序,请告诉我该怎么做? – IamStalker 2011-08-07 06:43:55

7

这是你可以设置一个备用入口点的应用程序:

A-使用BlackBerry®Java®插件用于Eclipse®

为创建项目后原始应用程序,创建一个备用入口点来启动应用程序UI。

1-双击项目中的BlackBerry_App_Descriptor.xml。
2-检查系统模块并且不要在BlackBerry主屏幕上显示应用程序图标。
3在“Alternate Entry Point”选项卡上单击。
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入口点下拉列表中选择原始项目的名称(例如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 } 
    } 
} 
+0

谢谢阿什拉夫,但我想从事件线程调用后台服务。可能吗?如果是的话,请告诉我如何? – 2011-04-26 07:41:27

+0

使用UiApplication.requestForeground().....如果这些答案对您有帮助,请将其标记为答案 – 2011-04-26 09:27:48

+0

@AshrafBashir。可爱的解释。 – 2012-06-22 06:25:31