0

我创建了获取相关纬度和经度并在数据库中更新的应用程序。问题是当我在房子或商场这样的屋顶下时......我不断在我的应用程序上获得 GPS 搜索图标。

我正在使用一个按钮来触发 Mylocation() 并且它是侦听器。

该按钮具有以下内容:

locationListener = new MyLocationListener();                        
location.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000, 5, locationListener);

在 mylocationlistener 方法下我有

private class MyLocationListener implements LocationListener {
    @Override
    public void onLocationChanged(Location loc) {
        try {
            Thread.sleep(1000);
            Toast.makeText(getBaseContext(),"Location: Lat:" + loc.getLatitude() + " Lng:" + loc.getLongitude(),Toast.LENGTH_SHORT).show();
            location.removeUpdates(locationListener);
            location = null;
            finish();
          }
            catch (InterruptedException e) {
            e.printStackTrace();
        }
       }

我得到了正确烘烤的价值,没有任何问题,应用程序完成后,GPS 图标消失了,但是当我在屋顶内时,顶部的 GPS 图标一直在搜索 GPS。图标不会消失。

我该如何解决?如果 Gps 信号良好,我是否需要设置一个条件,如果不只是消息 GPS 信号不好,则启动 GPS。如果是这样怎么办?

谢谢!

4

2 回答 2

1

如这个问题中所述如何在 Android 上测量 GPS 信号强度

所以假设你真的是指信号强度,你可以得到GpsStatusvia LocationManager.getGpsStatus(),这会给你一个卫星列表 via getSatellites(),每个卫星都有一个信噪比 ( getSnr())

于 2013-01-13T12:12:42.690 回答
0

您可以考虑使用网络定位服务以及或代替 GPS。您还可以考虑添加超时。

于 2013-01-13T12:39:33.823 回答