2012-06-27 11 views
6

मैं एक पृष्ठभूमि ऐप बनाने की कोशिश कर रहा हूं जो सिस्टम स्टार्टअप पर चलाएगा। जब मैं इसे मैन्युअल रूप से चलाता हूं (रिबन से), स्क्रीन दिखाई देती है लेकिन जब मैं इसे स्टार्टअप ऐप (डिस्क्रिप्टर में स्टार्टअप विकल्प पर ऑटो-रन) बनाने के बाद ऐप चलाता हूं, तो स्क्रीन पर कुछ भी दिखाई नहीं देता है। मैं निम्नलिखित कोड का प्रयास कर रहा हूं;ब्लैकबेरी ऐप: ऑटो रन मोड में स्क्रीन दिखाई नहीं दे रही है

public class AppClass extends UiApplication { 

    public static void main(String[] args) { 
     AppClass theApp = new AppClass(); 
     theApp.enterEventDispatcher(); 
    } 

    public AppClass() { 
     pushScreen(new AppScreen()); 
    } 
} 

और यह स्क्रीन क्लास है;

public final class AppScreen extends MainScreen { 

    private LabelField label; 

    public AppScreen() { 
     setTitle("AppTitle"); 

     label = new LabelField(); 
     label.setText("Ready."); 

     add(label); 
    } 
} 

मैं उम्मीद कर रहा हूँ कि अपनी एक यूआई एप्लिकेशन इसलिए इसकी स्क्रीन दिखाई कोई बात नहीं होना चाहिए, अगर स्टार्टअप पर ऑटो रन है या मैन्युअल रूप से चलाते हैं। अगर मुझे उम्मीद के अनुसार काम करने के लिए कुछ करने की ज़रूरत है, तो कृपया मुझे इसके बारे में मार्गदर्शन करें, मैं ब्लैकबेरी विकास के लिए नया हूं। मैं निम्नलिखित पर्यावरण में विकास कर रहा हूं;

  • ब्लैकबेरी JDE ग्रहण प्लगइन 1.5.0
  • ब्लैकबेरी ओएस 4,5

उत्तर

2

कॉल getApplication().requestForeground();, जिससे आपकी स्क्रीन दिखाई जाएगी।

public final class AppScreen extends MainScreen { 

    private LabelField label; 

    public AppScreen() { 
     setTitle("AppTitle"); 

     label = new LabelField(); 
     label.setText("Ready."); 

     add(label); 

     getApplication().requestForeground(); 
    } 
} 

एप्लिकेशन पृष्ठभूमि में चल रहा है, हम स्पष्ट रूप से अग्रभाग में यूआई तत्व को दिखाने के लिए इसे लाने के लिए है और यह है कि हम यहाँ क्या कर रहे है।

5

ऑटो शुरू अनुप्रयोगों तो वहाँ यूजर इंटरफेस के लिए कोई समर्थन नहीं है ओएस बूटिंग पूरा कर लिया है से पहले चलाए जा रहे हैं। मुझे संदेह है कि आपका एप्लिकेशन लॉन्च किया जा रहा है लेकिन कुछ यूआई कॉल पर असफल रहा है। स्वत: चलाने और होम स्क्रीन से चलाने के लिए एक एप्लिकेशन लिखने का दस्तावेज तरीका है जो ऑटो रन के लिए वैकल्पिक प्रविष्टि बिंदु प्रदान करता है जो प्रोग्राम को बताता है कि यह ऑटो रन चला गया है। फिर यूआई अनुप्रयोगों के लिए ओएस तैयार होने तक प्रतीक्षा करने के लिए एपीआई का उपयोग करें। अपने AppScreen वर्ग के निर्माता से

public class AppClass extends UiApplication { 
    public static void main(String[] args) { 

     if (args.length > 0 && args[0].equals("auto-run")) { 
      // auto start, wait for OS 
      while (ApplicationManager.getApplicationManager().inStartup()) { 
       Thread.sleep(10000); 
      } 

      /* 
      ** Do auto-run UI stuff here 
      */ 
     } else { 
      AppClass theApp = new AppClass(); 
      theApp.enterEventDispatcher(); 
     } 
    } 

    public AppClass() { 
     pushScreen(new AppScreen()); 
    } 
} 
+0

धन्यवाद श्रीमान। मुझे कोशिश करने दो। – Mudassir

संबंधित मुद्दे