Pregunta

Tengo que añadir la funcionalidad GPS a una aplicación BlackBerry existente que he escrito. Escribo una sola clase de soporte llamada CurrentLocation, e incluyen un método para establecer las distintas variables de localización que me importa utilizando el GPS de mora en conjunto con los servicios web de geocodificación inversa de Google. Todo está funcionando muy bien, es decir, hasta que lo intente crear una instancia de mi nueva clase en mi aplicación principal.

No importa lo que hago, me sale un LocationException! .getLocation () no funciona!

Realmente me confunde, porque si crear instancias de mi clase en una aplicación hello world prueba, funciona muy bien.

¿Hay límites a donde se puede crear instancias de clases? No he encontrado ninguna de las clases anteriores que he escrito. En este caso, estoy crear instancias de mi clase CurrentLocation en un oyente (por lo que el usuario sólo hace que el largo de los gps y Web llama cuando quieren). He intentado crear instancias en las pantallas, también. He intentado simplemente destripar la clase y el uso de la llamada al método, pero que no funciona bien.

¿Hay algo que me falta por completo aquí?

http://pastie.org/639545

Hay un enlace a la clase que estoy haciendo,

Y aquí está el oyente I "m tratando de crear una instancia de. Estoy en un hilo de eventos porque pensé que podría ayudar (pero tengo la misma excepción si es o no lo hago).

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

            });

        }
    };

¿Qué me estoy perdiendo aquí?

¿Fue útil?

Solución

Está bien, lo tengo. Al parecer, no se puede llamar getLocation () en el eventThread (no sólo invokeLater, pero cualquier oyente). Así que ahora lo que estoy haciendo es obtener las coordenadas en un hilo fuera del evento, y preocuparse por Google por separado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top