Come impostare il punto di ingresso alternativo nell’applicazione Blackberry?

Come impostare il punto di accesso alternativo nell’applicazione Blackberry. Ci saranno 2 applicazioni

  1. Applicazione UI
  2. Applicazione in background: verrà eseguita all’avvio automatico.

C’è un articolo del centro di conoscenza del blackberry su questo, che ho provato e codificato come segue. Ma cliccando sull’icona dell’applicazione, non c’è risposta.

class EntryPointForApplication extends UiApplication { public EntryPointForApplication() { GUIApplication scr = new GUIApplication(); pushScreen(scr); } public static void main(String[] args) { if ( args != null && args.length > 0 && args[0].equals("background1") ){ // Keep this instance around for rendering // Notification dialogs. BackgroundApplication backApp=new BackgroundApplication(); backApp.enterEventDispatcher(); backApp.setupBackgroundApplication(); } else { // Start a new app instance for GUI operations. EntryPointForApplication application = new EntryPointForApplication(); application.enterEventDispatcher(); } } } 

Applicazione UI di class

 class GUIApplication extends MainScreen { public GUIApplication(){ add(new LabelField("Hello World")); } } 

Applicazione di sfondo

 class BackgroundApplication extends Application { public BackgroundApplication() { // TODO Auto-generated constructor stub } public void setupBackgroundApplication(){ } } 

Ho configurato Blackberry_App_Discriptor.xml in base a questo (modifica) link errato
Qualsiasi corpo può aiutare, dove sto andando male.

    Prova a registrare il valore di args e (se non null) args [0] per vedere cosa viene effettivamente passato a main (). Probabilmente è un problema con il tuo processo di compilazione in cui il modulo di background non sta passando un argomento (o non sta passando il valore corretto).

    Inoltre, prova a salvare l’istanza EntryPointForApplication in una variabile statica in modo che mantenga un riferimento (non sia garbage collection) e in modo che se l’icona viene cliccata di nuovo dalla schermata iniziale mentre è già in esecuzione, non inizi più istanze della tua app. Per esempio:

     class EntryPointForApplication extends UiApplication { private static EntryPointForApplication theApp; public EntryPointForApplication() { GUIApplication scr = new GUIApplication(); pushScreen(scr); } public static void main(String[] args) { if ( args != null && args.length > 0 && args[0].equals("background1") ){ // Keep this instance around for rendering // Notification dialogs. BackgroundApplication backApp=new BackgroundApplication(); backApp.setupBackgroundApplication(); backApp.enterEventDispatcher(); } else { if (theApp == null) { // Start a new app instance for GUI operations. theApp = new EntryPointForApplication(); theApp.enterEventDispatcher(); } } } }