2012-06-27 44 views
6

Tôi đang cố tạo ứng dụng nền sẽ chạy khi khởi động hệ thống. Khi tôi chạy nó bằng tay (từ ruy-băng), màn hình xuất hiện nhưng khi tôi chạy ứng dụng sau khi tạo ứng dụng khởi động (Tự động chạy khi khởi động tùy chọn trong bộ mô tả), không có gì xuất hiện trên màn hình. Tôi đang thử đoạn mã sau;Ứng dụng BlackBerry: Màn hình không hiển thị ở chế độ tự động chạy

public class AppClass extends UiApplication { 

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

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

Và đây là lớp màn hình;

public final class AppScreen extends MainScreen { 

    private LabelField label; 

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

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

     add(label); 
    } 
} 

Tôi hy vọng ứng dụng giao diện người dùng của nó sẽ hiển thị bất kể khi nào tự động chạy khi khởi động hoặc chạy thủ công. Nếu tôi cần phải làm một cái gì đó để làm cho nó hoạt động như mong đợi, hãy hướng dẫn tôi về nó, tôi mới phát triển BlackBerry. Tôi đang phát triển trong môi trường sau;

  • BlackBerry JDE Eclipse Plugin 1.5.0
  • BlackBerry OS 4,5

Trả lời

2

Gọi getApplication().requestForeground(); từ hàm tạo của lớp AppScreen để màn hình của bạn hiển thị.

public final class AppScreen extends MainScreen { 

    private LabelField label; 

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

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

     add(label); 

     getApplication().requestForeground(); 
    } 
} 

Khi ứng dụng đang chạy ở chế độ nền, chúng tôi phải đưa nó vào mặt trước một cách rõ ràng để hiển thị phần tử giao diện người dùng và đó là những gì chúng tôi đang làm tại đây.

5

Auto bắt đầu các ứng dụng đang chạy trước khi hệ điều hành đã hoàn thành khởi động vì vậy không có bất kỳ sự hỗ trợ cho giao diện người dùng. Tôi nghi ngờ ứng dụng của bạn đang được khởi chạy nhưng không thực hiện được một số cuộc gọi giao diện người dùng. Cách viết tài liệu để viết một ứng dụng tự động chạy và chạy từ màn hình chủ là cung cấp một điểm vào thay thế cho tự động chạy với các đối số cho biết chương trình đã được tự động chạy. Sau đó, sử dụng API để đợi cho đến khi hệ điều hành sẵn sàng cho các ứng dụng giao diện người dùng.

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

Cảm ơn bạn. Hãy để tôi thử nó. – Mudassir

Các vấn đề liên quan