草庐IT

LocationManager

全部标签

android - 网络位置提供商是否需要互联网来确定位置?

Android设备在使用网络提供商获取位置时是否需要互联网?我看到很少有文章说它可以在没有互联网的情况下工作,也很少有人说它需要互联网。我正在更多地研究Android内部如何进行位置获取(而不是代码)。文章说我们需要互联网:设备捕获手机ID和wifi热点并将其发送到谷歌服务器。谷歌服务器返回位置信息。这些文章说我们需要互联网来获取位置。很少有文章说位置是使用蜂窝三角测量确定的,不需要互联网。我已经尝试做测试来确认这一点。但测试结果令人困惑,无法从中推断出任何东西。设备配置:我关闭了互联网、wifi扫描和GPS。这意味着设备只有蜂窝信号。应用程序每分钟捕获一次位置。测试结果一:我无法使用

android - 在打瞌睡模式下获取位置更新

我正在尝试在打瞌睡模式下在我的android应用程序中获取位置更新,这曾经适用于android5.x。随着android6和doze的出现,无论我做什么,更新都会在某个时候停止。在阅读了有关该主题的一些文章和stackoverflow答案后,我进行了以下更改:使我的服务成为前台服务让服务持有部分唤醒锁我已授予我的应用WAKE_LOCK权限使服务在单独的进程中运行(以解决一些android错误)我已为我的应用停用电池优化但是,当打瞌睡开始时,我仍然没有获得位置更新。我已经验证我的服务线程在打瞌睡开始时继续运行(通过定期记录消息),但是位置管理器以某种方式停止发送更新。关于打瞌睡和Loca

android - 辅助数据注入(inject) GPS

我正在尝试开发一个使用GPS的应用程序,我想将XTRA数据和时间引用注入(inject)GPS以获得更快的修复。我的代码如下:Bundlebundle=newBundle();booleanxtraInjection=locationmanager.sendExtraCommand(LocationManager.GPS_PROVIDER,"force_xtra_injection",bundle);booleantimeInjection=locationmanager.sendExtraCommand(LocationManager.GPS_PROVIDER,"force_time

android - 导航管理器 : How can I use GpsSignalListener with route simulation on an emulator?

使用HEREAndroidSDKPremium,在使用NavigationManager#simulate()方法时,如果我添加一个NavigationManager.GpsSignalListener,即使我打开监听器回调也不会被调用在模拟器上运行时打开/关闭我的GPS。在模拟模式下运行NavigationManager时如何接收GPS信号事件? 最佳答案 可以通过LocationManager监听GPS的开启/关闭以获取GPS/网络提供商的状态(启用/禁用)。这与HEREAndroidSDK的GpsSignalListener不

安卓 GPS 校准

当移动很远的距离时,比如去另一个城市,关闭GPS,打开它需要很长时间才能找到第一个正确的点。因此,如果我通过示例注册到gps提供程序,则可能需要10分钟才能收到第一个onLocationChanged调用。网络提供商的响应速度会更快,但准确性较低。有没有办法帮助gps提供商?给它一个大概的位置(来自网络提供商的位置),以便它可以更快地找到我的位置?我认为谷歌地图做了某种优化,因为他们的应用比我的基本应用更快找到我的位置,后者只注册到gps提供商。知道如何以相当准确的速度( 最佳答案 你是对的,如果你在手机关机的情况下移动很远,那么卫

android - LocationListener 休眠时关闭 GPS 图标

我在使用Android中的LocationListener时遇到了一些困难。我想制作一个应用程序来获取当前的GPS位置,然后长时间休眠。一天或更长时间。在这段时间里,我希望GPS通知图标不显示。我现在拥有的是在onLocationChanged中的Thread.sleep(x)但这将使图标在sleep期间保持打开状态。我该怎么做,是否有比使用Thread.sleep更好的方法?提前致谢 最佳答案 为此,您必须完全关闭LocationManager。我在我的应用程序中做到了,我只每10秒检查一次位置,因为我发现,关闭比Location

android - 根据可用性在 GPS 和网络提供商之间切换

publicvoidonCreate(){locationListener=newGeoUpdateHandler();locationManager=(LocationManager)getSystemService(Context.LOCATION_SERVICE);try{gps_enabled=locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);network_enabled=locationManager.isProviderEnabled(LocationManager.NETWORK_PROVID

android didUpdateHeading(位置管理器)?

Android是否有didUpdateHeading(来自iOS)的等价物?是否有使用它旋转mapView的示例代码?搜索了很多,但找不到有用的提示。提前致谢。编辑:让我解释一下我的问题:在IOS中,当设备更改其标题时,委托(delegate)对象会调用其方法:“didUpdateHeading”。在Android中,我可以找到“onLocationChanged”来获取坐标,但没有标题信息。如何在Android中获取标题信息? 最佳答案 packagecom.exercise.AndroidCompass;importjava.u

android - 位置管理器 ProxmityAlert 总是说进入

我想在用户靠近特定位置时提醒他。为此,我在我的应用程序中包含了ProxmityAlert和相应的服务。但无论我给出什么坐标,它总是显示“感谢您访问我的区域!!进入”我这样做是不是错了?我是这样做的:publicclassProxTestextendsActivity{LocationManagerlm;doublelat=30.085514,long1=77.082603;floatradius=50;@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setC

android - 为什么手机gps在不同的位置提供相同的坐标

背景:我现在正在开发一个android应用程序来跟踪车辆,根据管理层的决定,我需要每隔10秒获取一次设备位置。我们已经开发了这个应用程序,它按我们预期的时间间隔按时更新我们的位置。问题:当车辆在道路上行驶时,应用程序会按照预期的时间间隔给我们提供正确的坐标,但有时会在5-20分钟内提供相同的坐标,但车辆位于不同的位置。代码回顾:1)我们在locationClass中使用一个名为getLocation()的方法,该方法为我们提供设备当前位置的经纬度。privatestaticfinallongMIN_DISTANCE_CHANGE_FOR_UPDATES=5;privatestaticf