【问题标题】:Android-Need to find GPS signal strength without turning on GPSAndroid-需要在不开启GPS的情况下查找GPS信号强度
【发布时间】:2012-07-17 02:10:32
【问题描述】:

我的应用应该使用GPSCellular networkWiFi 找到当前位置。我可以通过GPS 轻松找到当前位置

LocationManager locationmanager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
LocationListener locationlistener = new mylocationlistener();
locationmanager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationlistener);

mylocationlistener()function 如下所示

private class mylocationlistener implements LocationListener {
  @Override
  public void onLocationChanged(Location location) {
      if (location != null) {
      Toast.makeText(LocationActivity.this,"latitude: "+
          location.getLatitude() + "longitude: " + location.getLongitude(),
          Toast.LENGTH_LONG).show();
      }
  }

它工作正常。我可以使用蜂窝网络通过上面的代码找出我需要更改的当前位置locationmanager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationlistener);

没关系,但我的挑战是

  1. 我需要找到 GPS 信号强度才能激活 GPS。如果 GPS 信号强度差,我将无法激活 GPS,因为它会耗尽电池电量。
  2. 如果 GPS 信号较差,我必须通过蜂窝网络或 WiFi 找出当前位置。

所以,我的问题是,是否有任何方法可以在不打开GPS 的情况下确定 GPS 信号强度? 感谢您提前提供任何帮助。

【问题讨论】:

    标签: android gps


    【解决方案1】:

    不,您无法确定未打开的传感器的信号强度。

    要确定卫星和手机等GPS单元之间的信号强度,两者需要收发GPS信号,这自然需要手机上的GPS开启。

    如果不打开 WiFi 就无法列出附近可用的 WiFi 网络,这与逻辑相同。

    您最好的选择是暂时打开它,然后在您决定不使用时将其关闭。

    确定是否使用 GPS 的最简单方法是将其打开,然后使用 LocationManager 的getBestProvider 方法。如果最好的提供商不是 GPS,请再次将其关闭。您还可以使用 getGpsStatus 方法获取 GpsStatus 对象,其中包含最大卫星数和接收修复所需的时间等指标。

    请参阅Enable GPS programatically like Tasker 了解如何启用/禁用 GPS。遗憾的是,您只能在 2.3 之前的手机上以编程方式执行此操作,并且只能通过漏洞利用。 “正确”的方式是提示用户启用或禁用它。

    【讨论】:

    • 您可能还想查看 Google 的 Location Strategies 指南,该指南提供了一些关于如何执行此操作并最大限度地减少应用对手机电池的影响的建议。
    • 谢谢 Tanis.7x。你能帮我确定GPS 的信号强度以及如何打开/关闭“GPS”吗?
    • 实现此目的的一种方法可能是使用 One API Gateway oneapi-gw.gsma.com 提供的位置 API 之类的东西,它使用基于 Web 的 API 根据单元格获取位置。这目前仅在加拿大可用,但正在其他地方推出。这可能是一个更好的解决方案。一些网络运营商提供对位置 API 的访问,因此请四处寻找,看看是否有帮助。
    猜你喜欢
    • 2011-06-05
    • 1970-01-01
    • 1970-01-01
    • 2011-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多