草庐IT

LocationManager

全部标签

Android Location Listener 调用非常频繁

我正在使用网络位置提供商。我需要每1小时从我的LocationListener调用一次onLocationChanged方法。这是我的代码:MyLocationListenerlocationListener=newMyLocationListener();locationMangaer.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,3600000,0,locationListener);但它不起作用。我的onLocationChanged调用非常频繁。我必须使用哪些参数? 最佳答案

android - 如何检查 LocationManager.NETWORK_PROVIDER 是否可用?

如何检查LocationManager.NETWORK_PROVIDER是否可用?我在AndroidManifest.xml中启用,但我需要在代码中检查它是否不可用以使用GPS_PROVIDER。有人可以帮助我吗? 最佳答案 HowtocheckifLocationManager.NETWORK_PROVIDERisavailable?使用此部分检查网络提供商是否已启用:network_enabled=locManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);这将返

java - 在对话框中启用 GPS 后,Android 位置返回 null

当我进入一个屏幕时,我会检查GPS是否已打开,如果没有,则会显示启用GPS的对话框。当用户单击"is"时,onActivityResult->GPS已打开,我尝试获取位置,但这始终返回null当我在GPS已打开的情况下进入屏幕时,会正确检索位置。我已经为此苦苦挣扎了几天,似乎找不到任何资源。UserLocationUtilities.javapublicclassUserLocationUtilitiesimplementsGoogleApiClient.ConnectionCallbacks,GoogleApiClient.OnConnectionFailedListener,Loc

android - 如何在没有互联网连接的情况下在android中获取当前的确切位置?

我想在android中获取当前的确切位置坐标。如果手机连接到Wifi互联网连接,我可以获取位置,但在其他情况下,当我去其他地方并且没有可用的互联网连接时,它不会提供当前位置坐标。而不是给出最后的位置坐标。例如:目前我在A城市并通过wifi连接获取当前坐标并移动到城市B然后我无法获取当前坐标。取而代之的是给出最后的位置坐标。任何人都可以建议我如何在没有互联网连接的情况下获取当前位置。publicLocationgetLocation(){try{locationManager=(LocationManager)context.getSystemService(LOCATION_SERVI

android - 如何阻止用户长时间等待位置修复?

我正在构建一个GPSAndroid应用程序,它根据用户的当前位置获取最近的地点。这是我的应用程序所做的:检查GPS或网络是否可用如果两者都不可用,则什么都不做。否则,我们首先检查GPS是否存在,如果不存在则检查网络。使用其中之一后,我们获取当前位置,然后将其发送到服务器。从服务器检索数据并更新UI后,我们将停止监听进一步的位置更新。一次就够了,直到他们按下刷新按钮再次开始。我希望做的事情:如果GPS或网络无法检索位置(例如2分钟),那么我们会更换提供商。我们不希望用户等待太久。如果能够同时使用这两个提供程序,然后从中获得最准确的信息,那就太好了。我看过http://developer.

android - 位置设置对话框显示两次或如何检测该对话框显示\关闭

每次当前台Activity和位置关闭时,我都想在onResume()中显示位置设置对话框。问题:每次都会创建新的设置对话框而不破坏之前的设置对话框,并且我有对话堆栈。按后退按钮或取消按钮将显示之前显示的另一个设置对话框。另一个问题是当从通知栏对话框启用位置时仍然显示并且我无法关闭它。publicclassCheckLocationActivityextendsFloatingActionsMenuActivityimplementsConnectionCallbacks,OnConnectionFailedListener{privateGoogleApiClientgoogleApi

android - requestLocationUpdates 不会在 Android 中按时间间隔更新

我的问题是我的服务实现了LocationListener,似乎每500毫秒接收一次GPS更新。无论我在requestLocationUpdates函数中输入什么minTime。我的代码fragment:publicclassLocationServiceextendsServiceimplementsLocationListener{LocationManagerlocMan;@OverridepublicintonStartCommand(Intentintent,intflags,intstartId){locMan=(LocationManager)getSystemServic

Android:检测到用户打开状态栏

我正在编写一个使用GPS进行本地化服务的应用程序。当用户尝试在禁用GPS的情况下使用该应用程序时,会弹出一个对话框。现在,用户可以最小化应用程序并更改GPS设置。当他重新打开应用程序时,它会在onResume()中检测到设置已更改并关闭对话框。这工作正常,但用户有第二种方式来启用GPS:状态栏。打开和关闭状态栏时,onResume()和onWindowFocusChanged()都不会被调用,因此我无法检测到用户何时启用了GPS。有没有办法检测状态栏的打开情况?我可以通过LocationListener做到这一点,但我想按照我上面写的那样去做。提前致谢!我在android-devIRC

Android 如何在 LocationManager 中获取高度。我总是归零

我正在尝试通过location.getAltitude()方法获取当前海拔高度。但它总是返回零。我应该怎么做才能获得当前的高度值。但正确获取经度和纬度。请给我建议。我在谷歌中搜索并计算出一些样本,但所有样本都只返回零。我用过的代码:在创建时我调用了=getMyCurrentLocation();这个方法。voidgetMyCurrentLocation(){LocationManagerlocManager=(LocationManager)getSystemService(Context.LOCATION_SERVICE);LocationListenerlocListener=ne

android - LocationManager.removeUpdates(listener) 不删除位置监听器

我的应用场景是我想跟踪员工的位置。我有一个广播接收器,它收听设备启动广播并注册一个警报管理器。当警报管理器滴答作响时,它会注册两个位置监听器,一个用于监听gps,另一个用于网络。我希望当我在onLocationChange()方法中获得第一个位置更新时,保存位置并取消注册该位置监听器,以便当警报管理器再次滴答时,它不会重复。要取消注册,我将位置监听器作为静态对象在onLocationChange()中访问它们。但我发现它没有删除位置监听器。这是我的代码示例:publicclassBootTimeServiceActivatorextendsBroadcastReceiver{@Over