2011-04-24 74 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