Trouble bringing a Blackberry App to Foreground

Posted by Luis Armando on Stack Overflow See other posts from Stack Overflow or by Luis Armando
Published on 2010-05-07T19:44:44Z Indexed on 2010/05/07 19:48 UTC
Read the original article Hit count: 298

Filed under:

I have an app that is listening in background and when the user clicks "send" it displays a dialogue. However I need to bring my app to foreground so the user answers some questions before letting the message go. but I haven't been able to do this, this is the code in my SendListener:

SendListener sl = new SendListener(){

                public boolean sendMessage(Message msg){

                    Dialog myDialog = new Dialog(Dialog.D_OK,
                        "message from within SendListener",
                        Dialog.OK,Bitmap.getPredefinedBitmap(Bitmap.EXCLAMATION),
                        Dialog.GLOBAL_STATUS)
                    {
                         //Override inHolster to prevent the Dialog from being dismissed
                         //when a user holsters their BlackBerry. This can
                         //cause a deadlock situation as the Messages
                         //application tries to save a draft of the message
                         //while the SendListener is waiting for the user to
                         //dismiss the Dialog.

                         public void inHolster()
                         {

                         }
                    };
                    //Obtain the application triggering the SendListener.
                    Application currentApp = Application.getApplication();

                    //Detect if the application is a UiApplication (has a GUI).
                    if( currentApp instanceof UiApplication )
                    {
                        //The sendMessage method is being triggered from
                        //within a UiApplication.
                        //Display the dialog using is show method.
                        myDialog.show();
                       App.requestForeground();
                    }
                    else
                    {
                         //The sendMessage method is being triggered from
                         // within an application (background application).
                         Ui.getUiEngine().pushGlobalScreen( myDialog, 1,
                             UiEngine.GLOBAL_MODAL );
                    }
                    return true;
                }
            };
            store.addSendListener(sl);

App is an object I created above:

Application App = Application.getApplication();

I have also tried to invoke the App to foreground using its processID but so far no luck.

© Stack Overflow or respective owner

Related posts about blackberry