okk je vous donne une démonstration de l'échantillon ....
tout d'abord modifier le BlackBerry_App_Descriptor.xml cliquez sur Application Tab
En ApplicationArgument écrire alternate
et vérifier l'exécution automatique au démarrage Cliquez sur Alternate Entry Points
clic sur ajouter et écrire dans le titre BackgroundApp
Faire une classe qui prolongera la classe d'application plutôt que la classe UiApplication comme cette façon
import net.rim.device.api.system.Alert;
import net.rim.device.api.system.Application;
import net.rim.device.api.system.Bitmap;
import net.rim.device.api.ui.Manager;
import net.rim.device.api.ui.Screen;
import net.rim.device.api.ui.Ui;
import net.rim.device.api.ui.UiEngine;
import net.rim.device.api.ui.component.Dialog;
public class BackGroundApp extends Application {
// this class is used for the background processing .....
public void startBackgroundThread()
{
new Thread(){
public void run() {
while (true) {
try {
Thread.sleep(60000);
} catch (InterruptedException e) {
e.printStackTrace();
}
synchronized (getEventLock()) {
//with this UiEngine pushGlobal dialogs
//whenever with the app in background
UiEngine ui = Ui.getUiEngine();
Screen screen = new Dialog(Dialog.D_OK, "You have updates!",
Dialog.OK, Bitmap
.getPredefinedBitmap(Bitmap.EXCLAMATION),
Manager.VERTICAL_SCROLL);
ui.pushGlobalScreen(screen, 1, UiEngine.GLOBAL_QUEUE);
}
}
}
}.start();
}
}
Faire une classe qui prolongera la classe UiApplication comme cette façon
public class GuiTest extends UiApplication {
static Timer t;
public static void main(String[] args) {
if(args.length>0&&"alternate".equals(args[0])){
BackGroundApp app = new BackGroundApp();
app.startBackgroundThread();
app.enterEventDispatcher();
}
else{
GuiTest test = new GuiTest();
test.enterEventDispatcher();
}
}
public GuiTest(){
Myscreen screeMyscreen = new Myscreen();
pushScreen(screeMyscreen);
}
}
maintenant faire une MyScreen de classe et ajouter tous vos Ui dedans .... et pousser l'écran
public class Myscreen extends MainScreen {
public Myscreen(){
CreateGui();
}
public void CreateGui(){
// Your Ui goes here .......
}
}
exécuter l'échantillon que vous verrez après une minute une boîte de dialogue apparaîtra sur votre écran, peu importe si vous êtes dans l'application ou à l'extérieur de celui-ci. Merci peut-être que cela pourrait être une aide complète.
avez-vous essayé 'ui.pushGlobalScreen (écran, 1, UiEngine.GLOBAL_QUEUE);' – BBdev
http://supportforums.blackberry.com/t5/Java-Development/Create-a-Background-Application/ta-p/ 445226 également vérifier ce lien – BBdev
oui, j'ai essayé d'utiliser le GLOBAL_QUEUE – user1174960