2012-03-26 126 views
0

我做了以下,但它並不總是工作。它的作品,如果我手動啓動應用程序,然後關閉設備,並打開設備我的應用程序啓動。但在關閉設備之前,如果我切換到另一個應用程序,然後打開設備,「我的應用程序沒有啓動」。如何在設備上啓動黑莓應用程序打開/打開

import net.rim.device.api.system.ApplicationDescriptor; 
import net.rim.device.api.system.ApplicationManager; 
import net.rim.device.api.ui.UiApplication; 

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

    if (args.length == 0) 
    {      
     ApplicationDescriptor current =   ApplicationDescriptor.currentApplicationDescriptor();    
     current.setPowerOnBehavior(ApplicationDescriptor.POWER_ON); 
     ApplicationManager manager = ApplicationManager.getApplicationManager(); 
     manager.scheduleApplication(current, System.currentTimeMillis() 
     + 2000, true); 
    } 
    System.out.println("restarted !"); 
    MyApp app = new MyApp(); 
    app.enterEventDispatcher(); 
} 

public MyApp() 
{   
    pushScreen(new MyScreen()); 
}  

}

Please help..........it's important...and thanks a lot. 

回答

1

我不是黑莓的專家,但我開發iOS和Android。打開/關閉開關或電源按鈕很難鏈接到設備,按下時執行的操作被寫入操作系統,而不是在應用程序中,我不認爲您會找到此按鈕的事件偵聽器只要想象一下,如果應用程序可能會阻止手機關機(或...),則可能引發的安全問題

+0

是的,我同意你,但在Android我們可以做到這一點。應該有任何方式來做到這一點。 – Amrit 2012-03-26 12:54:17

+0

要做什麼? – 2012-03-27 08:06:00

0

在您的Eclipse項目中,打開Blackberry_App_Description.xml文件,進入「Alternate Entry Points」選項卡,向列表中添加一個新條目,啓用其「啓動時自動運行」選項,併爲其選擇一個「應用參數」值。然後,您可以更新您的main()功能來查找該值時,應用程序運行:

public static void main(String args[]) 
{ 
    if ((args != null) && (args.length > 0) && (args[0].equals("MyValue"))) 
    {      
     System.out.println("System Startup !"); 
    } 

    MyApp app = new MyApp(); 
    app.enterEventDispatcher(); 
} 
+0

不夠用! – Amrit 2012-03-27 06:20:20

+0

以什麼方式?它總是在設備啓動時運行代碼,例如調度應用程序以運行。你究竟想要完成什麼? – 2012-03-27 08:03:35

+0

我希望我的應用在每次啓動時啓動/切換設備,而不是重置設備。 – Amrit 2012-03-28 09:54:56

0

在Android其完全可能的。您只需使用正確的過濾器註冊廣播接收器並在清單上添加權限。

我覺得你不應該想到這個功能從按鈕的角度和更多關於事件的觀點來看。

相關問題