由于某种原因,当我在requestLocationUpdates()方法之后添加removeUpdates()时,我根本没有获得任何位置数据。 我没有正确取消订阅吗?

LocationManager mlocManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
LocationListener mlocListener = new MyLocationListener();
mlocManager.requestLocationUpdates( LocationManager.NETWORK_PROVIDER, 5000, 1, mlocListener);
mlocManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 5000, 1, mlocListener);
mlocManager.removeUpdates(mlocListener);


public class MyLocationListener implements LocationListener
    {
        @Override
        public void onLocationChanged(Location loc)
        {
            loc.getLatitude();
            loc.getLongitude();
            String text = "My current location is: " +
            "Latitude = " + loc.getLatitude() +
            "Longitude = " + loc.getLongitude();
            System.out.println("FINISHED:");
            Toast.makeText( getApplicationContext(),
                    text,
                    Toast.LENGTH_SHORT).show();

        }
}

===============>>#1 票数:1

您可以尝试制作一种方法并在其中执行removeUpdates()。 并在获取数据后从onLocationChanged()调用它。

===============>>#2 票数:0

可能会有所帮助。

获取位置数据退订,这意味着在onLocationChanged方法中。

===============>>#3 票数:-1 已采纳

我最终在我的LocationHandler内创建了一个带有嵌套的Thread while并一直循环直到找到GPS位置。 找到后,我取消了LocationListener订阅。

  ask by Neeta translate from so

未解决问题?本站智能推荐:

2回复

GPS无法使用LocationManager / LocationListener开启

我正在开发一个简单的应用程序来监视GPS速度。 今天早上,我安装了几个GPS定位器来测试我的应用程序,但是似乎没有人能很好地工作。 卸载所有它们,并且(现在我不知道是否与此相关)现在当我使用ADB在N4上调试应用程序时,当我调用.requestLocationUpdates时GPS不会打开。
1回复

Android LocationManager始终返回相同的旧位置

我的Android应用程序有问题。 我想接收位置更新并编写以下代码: onCreate: onLocationChanged: 和setMoveToLocation 查看输出: 日志输出 总是错误的位置,我不在51,7! GPS绝对​​处于接通状态,我会收
7回复

NETWORK_PROVIDER的LocationListener已启用,但永远不会调用onLocationChanged

我正在开发一个应用程序,在服务中的6分钟和6分钟内整天获得手机的位置,它工作正常,但有时网络提供程序监听器的方法OnLocationChanged停止被调用,我不知道为什么。 它由于某种原因停止被调用,但是启用了Provider并且Lister正在工作,当我手动启用或禁用提供程序时, on
2回复

Android LocationManager-无法解析方法

我正在尝试让位置管理器在我的Android应用中的“活动”中工作,但始终显示“无法解析方法requestLocationUpdates”错误 我将此代码放入OnCreate中(从其他示例中找到): 我想使用自己的“ OnLocationChanged”方法来更新具有用户位置的地图,
1回复

LocationListener不起作用(在intentService内部),但getLastKnownLocation起作用(返回不同的gps坐标)

我没有在onLocationChanged,onStatusChanged,onProviderEnabled,onProviderDisabled中输入它,我检查了关闭电源并打开了我在办公室外尝试过的GPS(为此,您在本示例中看到的称为contador的计数器) 这是我的代码
2回复

除非位置已更改,否则不获取位置坐标

这是我需要做的。 我需要启动我的应用程序,然后单击一个按钮,我需要显示当前坐标,即纬度和经度。 我遵循了本教程,并出于以下目的使用了以下代码: (复制仅粘贴部分代码,请忽略任何未封闭的方括号或类似内容。) 随着位置的变化,它会连续获取纬度经度,并将其存储到latitude和lo
2回复

整个应用程序中只有一个LocationListener

我需要在整个应用程序中实现一个LocationListener。 我知道我可以将Service与LocationListener一起使用,但是问题是我必须在位置更改时使用一些通知程序。 当我能够随时获得最后一个位置时,这还不够,因为当所有活动更改时,我都需要立即获得当前位置。 所以
5回复

获取Android上的当前GPS位置

我正试图通过GPS功能获取用户的当前位置, 写了一个实现LocationListener的简单类 从一个简单的动作我正在访问这些经度和纬度值 但它总是返回0.0作为结果。不能解决问题。
1回复

在GPS中获取最接近的位置与我在android中的当前位置进行比较

在android中我获取了当前位置的纬度和经度,我还有其他两个坐标,我需要将两个坐标与met进行比较,这是我的坐标并动态得到最近的坐标。 我尝试了但动态如何获得它?
1回复

重新打开应用后,LocationManager将无法启动

我正在做一个项目,该项目会定期确定手机的坐标并将其上载到数据库中。 我使用的代码是: 从一个干净的开始(之前没有保存过有关应用程序的缓存/数据),它运行良好并且可以按预期工作: 启动第一个简单登录的活动(如果usertext = user $$ passtext = text