Закрыть Blackberry Map после использования пользовательского пункта меню - PullRequest
0 голосов
/ 22 декабря 2011

Я создал для BlackberryMaps собственный пункт меню с помощью «MenuItem» и вызываю Blackberry Maps.После использования этого элемента текущее местоположение (MapView) должно быть отправлено обратно в мое приложение.Это прекрасно работает.

Проблема в том, что я не нашел решения для закрытия приложения после использования пункта меню.Есть ли возможность закрыть Blackberry Maps?Или установить мое собственное приложение на передний план?

private static class MapMenuItem  extends ApplicationMenuItem {
//creates a new MenuItem for Blackberry Maps and defines the action which should //happen after a click on the MenuItem
            CustomDialog_GPS customDialogGps;
            StartScreen startScreen;

            MapMenuItem(StartScreen startScreen, CustomDialog_GPS customDialogGps) {
               super(20);
               this.startScreen = startScreen;  
               this.customDialogGps = customDialogGps;
            }
            public String toString() {
            //creates the name for the navigation Menu  
               String itemName = ""+_res.getString(CUSTOMDIALOG_GPS_USE_AS_NEW_LOCATION);
               return itemName;
            }
            public Object run(Object context) {
            //defines what should happen after a click on the menu

            //get the location at which the cursor is pointing at.  
               MapView mv = (MapView)context;

               if (mv != null) {                
                  //opens a method inside of CustomDialogGPS which handles the latitude and longitude                     
                   customDialogGps.saveAdjustedPosition(mv);

                  //TODO pop Screen
                  //Screen screen = (Screen)UiApplication.getUiApplication().getActiveScreen();           
               }
               else {
                    throw new IllegalStateException("Context is null, expected a MapView instance");
               }
               return null;
            }

       }

Ответы [ 2 ]

0 голосов
/ 23 декабря 2011

Вместо того, чтобы передавать пользователя в приложение «Карты», которое находится за пределами вашего приложения, и вы не можете его контролировать, создайте свой собственный экран с MapField .Использование собственного экрана и, возможно, расширение класса MapField для переопределения функций, если это необходимо, позволяет вернуться к предыдущему экрану после выбора пользователем местоположения.

0 голосов
/ 23 декабря 2011

К сожалению, вы не можете закрыть другое приложение программно (на самом деле вы можете, если знаете, например, где находится пункт меню, который нужно закрыть), но вы можете сделать приоритетным свое приложение UiApplication.getApplication().requestForeground(). Какое, вероятно, подходящее решение для вас.

...