Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用自定义菜单项后关闭Blackberry地图_Blackberry_Blackberry Maps - Fatal编程技术网

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

使用自定义菜单项后关闭Blackberry地图,blackberry,blackberry-maps,Blackberry,Blackberry Maps,我在“MenuItem”的帮助下为BlackberryMaps创建了一个自己的菜单项,并调用BlackberryMaps。使用此项目后,应将当前位置(MapView)发送回我的应用程序。这个很好用 问题是在使用菜单项后,我没有找到关闭应用程序的解决方案。是否有可能关闭黑莓地图?还是将我自己的应用程序设置为前台 private static class MapMenuItem extends ApplicationMenuItem { //creates a new MenuItem for B

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

问题是在使用菜单项后,我没有找到关闭应用程序的解决方案。是否有可能关闭黑莓地图?还是将我自己的应用程序设置为前台

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;
            }

       }

不幸的是,您无法以编程方式关闭另一个应用程序(例如,如果您知道要关闭的菜单项在哪里,您实际上可以),但您可以将应用程序前景化
UiApplication.getApplication().requestForeground()
。什么可能是适合您的解决方案。

不要将用户传递到地图应用程序,该应用程序位于您的应用程序之外,您无法控制它,而是在其中创建您自己的屏幕。使用您自己的屏幕,如果需要,还可以扩展MapField类以覆盖函数,这样,一旦用户选择了位置,您就可以返回到上一个屏幕。

我不确定是否理解。。。用户是否应该关闭地图以返回到您的应用程序?为什么应用程序要关闭地图?我打开Blackberry Maps来定义位置并获取gps坐标。如果用户在blackberry地图中选择了位置,他应该使用菜单项,上面写着“使用此作为位置”。当前地图视图将发送到应用程序,应用程序将处理地图视图的坐标。但问题是blackberry地图仍处于打开状态,用户必须关闭blackberry地图才能返回应用程序……为什么需要从地图中获取位置?为什么不使用LocationProvider获取当前位置?在这个应用程序中,我需要一个可以在blackberry地图上选择的用户定义位置。我明白了,我在下面添加了一个关于如何实现此效果的答案。希望这有帮助!泰玛码头。我试过这个。如果Iam正确,则地图字段仅提供一个“字段”,显示地图的固定部分。下一步是实现缩放和“移动”功能,然后没有像“搜索位置”(按姓名/街道)这样的功能。在我看来,这似乎太费劲了,我将首先尝试request前台()。Thx Eugen。这个解决方案有效。现在,我已经在关闭应用程序后获得了所述的打开BB地图,但在运行时正常关闭BB地图“有效”。