2012-03-26 11 views
0

Ich habe Folgendes getan, aber es funktioniert nicht für immer. Es funktioniert, wenn ich die App manuell starten und dann das Gerät ausschalten und das Gerät meine App gestartet wird . Aber bevor ich das Gerät ausschalte, wenn ich zu einer anderen App wechselte, wird nach dem Einschalten des Geräts "Meine App nicht gestartet".So starten Sie eine Blackberry App auf dem Gerät einschalten/einschalten

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. 

Antwort

1

Im nicht ein Blackberry-Experte, aber ich entwickeln für iOS und Android. Der Ein/Aus-Schalter oder die Einschalttaste ist kaum mit dem Gerät verbunden und die Aktion, die ausgeführt wird, wenn sie gedrückt wird, ist im Betriebssystem geschrieben, nicht in einer Anwendung. Ich glaube nicht, dass Sie einen Ereignis-Listener für diese Taste finden gedrückt werden, stellen Sie sich nur die Sicherheitsprobleme vor, die es verursachen könnte, wenn eine App das Telefon davon abhalten könnte (oder auf ...)

+0

Ja, ich stimme dir zu, aber in Androide können wir es tun. Es sollte einen Weg geben, es zu tun. – Amrit

+0

Um was genau zu tun? –

0

Öffnen Sie in Ihrem Eclipse-Projekt die Blackberry_App_Description.xml Datei, gehen Sie zu den "Alternate Entry Points" Tab, fügen Sie einen neuen Eintrag zur Liste hinzu, aktivieren Sie die Option "Beim Start automatisch ausführen" und geben Sie einen "Anwendungsargument" -Wert Ihrer Wahl ein. Anschließend können Sie Ihre main() Funktion aktualisieren für diesen Wert zu suchen, wenn die App läuft:

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

nicht ausreichend! – Amrit

+0

In welcher Weise? Sie müssen Code immer beim Gerätestart ausführen, z. B. das Planen von Apps zur Ausführung. Was genau willst du erreichen? –

+0

Ich möchte, dass meine App starten bei jedem Start/Switchon das Gerät nicht auf das Gerät zurücksetzen. – Amrit

0

auf Android seine durchaus möglich. Sie müssen nur einen Broadcast-Empfänger mit dem richtigen Filter registrieren und die Berechtigung für das Manifest hinzufügen.

Ich denke, Sie sollten nicht über diese Funktion aus der Sicht der Tasten und mehr auf das Einschalten Ereignis Sicht denken.