单击黑莓中的复选框时无法检索位置坐标

时间:2011-11-20 14:11:49

标签: blackberry location criteria

以下是我为检索位置协调员而编写的代码:

final EditField ed3=new EditField("Lat is ","");
    add(ed3);
    final EditField ed4=new EditField("Lon is ","");
    add(ed4);
CheckboxField cbf=new CheckboxField("test it",false);
     add(cbf);
     cbf.setChangeListener(new  FieldChangeListener() {

        public void fieldChanged(Field field, int context) {
            // TODO Auto-generated method stub
        try {
            BlackBerryCriteria bc=new BlackBerryCriteria(GPSInfo.GPS_MODE_CELLSITE);
            LocationProvider lp3 = LocationProvider.getInstance(bc);
            Location loc = null;
            loc = lp3.getLocation(-1);
            if(loc != null)
            {
                QualifiedCoordinates qc=loc.getQualifiedCoordinates();
                double lat=qc.getLatitude();
                double lon=qc.getLongitude();
                ed3.setText(lat+"");
                ed4.setText(""+lon);
            }
            } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        }
    });

}

但我无法检索坐标。两个编辑字段都留空。这里有什么问题?请帮帮我。谢谢

1 个答案:

答案 0 :(得分:1)

一个问题是您正在事件线程上进行阻塞调用(getLocation(-1))(为字段更改事件提供服务)。

这在BlackBerry平台上非常糟糕。

另一个问题可能是您的服务提供商是否支持CELLSITE模式。