0

我正在尝试实现位置跟踪器之类的应用程序。我需要在特定时间获取位置,但是当我尝试时我注意到,如果我的手机没有获得 gps 位置,它就不会寻找网络位置。当我在手机设置中打开 gps 时,它会获取网络位置。我如何同时使用两者或在代码中设置要使用的内容。我使用 java ME 位置 API。提前致谢。

编辑:这是我获取位置的代码:

    Criteria cr= new Criteria();
    cr.setHorizontalAccuracy(500);
    cr.setCostAllowed(true);

    // Get an instance of the provider
    LocationProvider lp= LocationProvider.getInstance(cr);
    // Request the location, setting a one-minute timeout
    Location l = lp.getLocation(60);
    QualifiedCoordinates c = l.getQualifiedCoordinates();

    if(c != null ) {
        // Use coordinate information
        double lat = c.getLatitude();
        double lon = c.getLongitude();
        double acc = c.getHorizontalAccuracy();

        form.append("latitude: " + lat);
        form.append("\nlongitude: " + lon);
        form.append("\nacc: " + acc);
    }
4

1 回答 1

0

您不能使用 API 定义位置提供程序的方法。硬件的实现是透明的(在这个操作背后)。你写的是正确的。您只能从一个来源获取位置,并且该来源取决于手机设置(位置设置)。

但是,您可以尝试通过识别与设备关联的网络单元来读取基于网络的位置。本文提供的代码示例应该很有用

于 2012-05-23T14:39:54.253 回答