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