黑莓JDE GPS getLocation()LocationException

时间:2009-10-02 15:57:33

标签: blackberry gps jde

我需要将GPS功能添加到我编写的现有Blackberry应用程序中。我写了一个名为CurrentLocation的独立类,并包含一个方法来设置我关心的各种位置变量,将黑莓GPS与谷歌的反向地理编码网络服务结合使用。一切都工作得很漂亮,也就是说,直到我尝试在我的主应用程序中实例化我的新课程。

无论我做什么,我都会得到一个LocationException! .getLocation()不起作用!

这让我很困惑,因为如果我在测试hello world app中实例化我的类,它就可以了。

您可以在何处实例化类?我以前写过的课程没有遇到任何问题。在这种情况下,我在侦听器中实例化我的CurrentLocation类(因此用户只在需要时进行冗长的gps和Web调用)。我也试过在屏幕中实例化它。我已经尝试过去强制类并使用方法调用,但这也不起作用。

我在这里完全没有找到什么东西吗?

http://pastie.org/639545

我正在制作的课程链接

这是我试图实例化的监听器。我在一个事件线程中因为我认为它可能会有所帮助(但无论我是否这样做,我都会得到相同的异常)。

FieldChangeListener listenerGPS = new FieldChangeListener() {
        public void fieldChanged(Field field, int context) {
            UiApplication.getUiApplication().invokeLater(new Runnable() {
                public void run() {
                    CurrentLocation loc = new CurrentLocation();
                    if (loc != null){
                        country = loc.getCountry();
                        city = loc.getCity();
                        state = loc.getState();
                        road = loc.getRoad();
                        zip = loc.getZip();
                    }
                    }

            });

        }
    };

我在这里缺少什么?

1 个答案:

答案 0 :(得分:2)

好的,我明白了。显然你不能在eventThread中调用getLocation()(不仅仅是invokeLater,而是任何监听器)。所以现在我正在做的是在事件之外的线程中获取坐标,并分别担心谷歌。