使用自定义菜单项后关闭黑莓地图

时间:2011-12-22 13:22:26

标签: blackberry blackberry-maps

我借助“MenuItem”为BlackberryMaps创建了一个自己的菜单项,并调用了Blackberry Maps。使用此项目后,应将当前位置(MapView)发送回我的应用程序。这很好。

问题是我找不到使用菜单项后关闭应用程序的解决方案。是否有可能关闭Blackberry Maps?或者将我自己的App设置为前景?

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 :(得分:0)

很遗憾,您无法以编程方式关闭其他应用程序(例如,如果您知道要关闭的菜单项在哪里,则可以这样做)但您可以预览应用程序UiApplication.getApplication().requestForeground()。什么可能适合你。

答案 1 :(得分:0)

不是将用户传递到应用程序之外的地图应用程序,而您无法控制它,而是创建一个自己的屏幕,其中包含MapField。使用您自己的屏幕并可能扩展MapField类以根据需要覆盖功能,允许您在用户选择位置后返回上一个屏幕。