【问题标题】:GPS location provider availability issueGPS位置提供商可用性问题
【发布时间】:2010-11-12 12:22:29
【问题描述】:

我的 gps 位置提供程序至少需要一分钟才能可用。我选择了最好的提供商,它是“gps”。原因是什么?我的代码如下..

locationListener = new LocationListen();
    Criteria criteria = new Criteria();
    criteria.setAccuracy(Criteria.ACCURACY_FINE);
    locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
    String provider = locationManager.getBestProvider(criteria, true);
    if(provider == null){
        provider = LocationManager.GPS_PROVIDER;
    }
    if(!locationManager.isProviderEnabled(provider)){
        locationManager.setTestProviderEnabled(provider, true);
    }
    boolean enabled = locationManager.isProviderEnabled(provider);
    if(enabled){
        System.out.println("provider enabled");
        //          setAlert("provider enabled", "", false);
    }else{
        System.out.println("provider disabled");
        //          setAlert("provider disabled", "", false);
    }
    locationManager.removeUpdates(locationListener);

    locationManager.requestLocationUpdates(provider, (long)1000, (float)0, locationListener); 

onStatusChanged() 方法仅在至少一分钟后调用,并且在调用此 onLoctionChanged() 方法后更改的状态是提供者可用性(可用)。 gps定位供应商延迟可用的原因是什么?

【问题讨论】:

    标签: android


    【解决方案1】:

    您似乎遗漏了一些 GPS 理论。第一次启动 GPS 设备(“冷启动”)时,它必须扫描卫星并锁定它们,然后才能确定设备的位置。

    当 AGPS 或星历更新时,第一个只有在网络支持的情况下才会缩短定位时间,但通常需要 10 秒到 2 分钟才能获得定位,具体取决于天气条件、建筑物等。

    这是硬件限制。试着在晴空万里的开阔地用安卓汽车导航软件比较你的修复时间,我相信你不会发现太大的差异。但我仍然相信在这种情况下需要更少的时间。

    通常可以接受一分钟作为 GPS 定位时间。

    【讨论】:

      猜你喜欢
      • 2011-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-22
      • 1970-01-01
      • 1970-01-01
      • 2013-12-19
      相关资源
      最近更新 更多