问题标签 [locationlistener]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
9239 浏览

android - 从 LocationManager 取消订阅 LocationListener

如何取消订阅LocationListener从接收更新LocationManager

这是我的设置方式

在我退出创建的视图后,LocationListener我仍然在 LogCat 窗口中收到日志消息。

我知道这是因为我正在孤立侦听器,但我看不到任何销毁方法,LocationListener也看不到LocationManager对象上的任何“删除侦听器”样式方法。

0 投票
2 回答
1625 浏览

android - 为什么我的 LocationListener 变为空?

LocationListener在我的服务中遇到了一个名为myService.

这是我的代码:

在我的活动中有一个应该停止服务的按钮。单击我正在执行的按钮:

myService.java我的文件中:

我得到以下异常:

我不知道为什么 listener 会无缘无故变为 null。请你能告诉我哪里出错了!

0 投票
2 回答
3829 浏览

android - 如何监听来自多个提供商的位置更新?

在此代码中,我从 GPS 请求位置更新

但是如何确保它也监听 Wifi 或 Cell ID 更新?

0 投票
3 回答
43677 浏览

android - Android一次找到GPS位置,显示加载对话框

我正在编写一个需要用户当前位置的应用程序(lastknownlocation 不会很有帮助),并显示从数据库中获取的所有最接近的“项目”列表。

我发现最近的项目运行良好,但暂时只使用硬编码的纬度和经度位置,但现在是时候实施查找实际位置了。

谁能提供一个示例,说明如何让应用程序在后台找到当前的精细位置并让应用程序等待。我只需要位置一次,不会随着人的移动而更新。我已经实现了一个位置监听器,但是我知道获取 GPS 修复可能会很慢。我已经看到使用最后一个已知位置或实现位置侦听器的其他示例,该侦听器继续运行和更新,但是因为我的 Activity 需要位置坐标才能显示应用程序崩溃的任何内容。我需要在搜索时显示一个进度对话框。

如何让 locationlistener 在后台运行一次,然后在找到位置后删除位置更新。我需要应用程序的其余部分等到它有 GPS 位置或在 20-30 秒后超时。我想要一个 ProgressDialog 以便用户知道正在发生的事情,但它必须是旋转加载动画而不是百分比或任何东西。如果可能的话,如果用户厌倦了等待,我希望用户能够取消对话框,然后他们可以通过键入郊区等来进行搜索。

我一直在尝试用线程来做到这一点,但它变得比我认为的要复杂得多,而且仍然无法正常工作。在 iPhone 上,这要简单得多?

谁能提供一个很好的方法来做到这一点,我已经为此烦恼了一周,这真的让我在应用程序完成日期的其余部分落后于计划。

总之,我想:
* 查找当前坐标
* 在获取位置时显示进度对话框
* 应用程序是否能够等待成功定位或在一定时间后放弃?
* 如果成功:关闭进度对话框并使用坐标运行我的其他方法来查找附近的项目。
* 如果获取位置失败:关闭进度对话框并显示错误消息,并鼓励用户使用菜单进入搜索活动。
* 如果用户从菜单中选择地图视图,则使用这些坐标,以显示地图上的当前位置以及使用数据库中的坐标放置在所有附近项目上的图钉。

谢谢大家,我希望我已经很好地解释了自己。任何问题只要问,我会定期检查,因为我渴望完成这部分。干杯

根据要求编辑
代码

locationList活动文件

位置助手类

仅仅为了获得当前位置一次,这似乎真的是一个很大的努力?我不需要更新或任何东西?难道没有更简单的方法让应用程序等待结果吗?我已经坚持了这么久。

0 投票
1 回答
303 浏览

android - 应用程序不断 Ping GPS

我有一个mapView已注册的活动,LocationListener每两秒检查一次新位置。当我按下返回按钮返回应用程序的主屏幕时,GPS 会继续每两秒检查一次位置。停止时听众不会Activity停止吗?如果不是,我该如何处理?我目前还没有覆盖onStop().

0 投票
1 回答
370 浏览

java - Android 与位置管理器的通信从另一个活动开始

在我的应用程序中,我想获得一个 gps 锁并记录坐标。但我不想将设备锁定为寻找 gps。用户可以自由浏览应用程序和其中的不同活动。

那么如果我在活动 A 中调用 locationListener,我可以在活动 BC 和 D 中引用它吗?

如果它仍在活动中 AI 可以说类似

当我在活动 B 中时,如何引用我在活动 A 中设置的 LocationListener

提前致谢

凯文

0 投票
1 回答
6156 浏览

android - 带有 locationListener 回调的 Android 服务

我有一个安卓应用程序。根据用户当前的地理位置,我想在后台获取一些远程数据并存储。我的实现是:

在特定的时间间隔,警报会启动我的服务。服务使用匿名类查询当前位置并注册一个 locationListener 回调。在调用 onLocationChanged() 时,我启动从服务器获取远程数据。

但是,一旦我的服务完成使用匿名类注册位置侦听器,它就会按预期返回;因为它不会在完成之前等待回调发生。由于回调需要一些时间并在服务已经返回时进行调用,所以它会抛出一个错误说:

这是完全可以理解的。现在对我来说一个快速的解决方法是我可以使用 locationManager 中的 getLastKnownLocation ,因为它不会通过回调响应;但是如果我现在确实想要最新的位置,在服务中而不是活动中怎么办?如何等待回调发生并停止我的服务返回。

另外,lastKnownlocation 在什么时候更新?每次 GPS 注册一个新位置时;它会更新吗?我想知道的是,如果它不是最新的,它仍然可以关闭到最新吗?因为我在 android 模拟器中没有看到配置后续更新之间时间段的选项。

任何帮助深表感谢。干杯

0 投票
1 回答
941 浏览

android - 如何正确清理活动中的位置侦听器

我有一个实现 LocationListener 的 Activity。

在我的活动中,我在 onCreate() 中注册了一个 locationlistener

在 onDestroy 方法中,我正在删除我的 locationlistener 的注册。

在我的应用程序中,我可以更改 minTime 和距离,所以我像这样重新初始化我的监听器:

出于调试目的,每当启用提供程序(在本例中为 GPS)时,我都会在屏幕上写入一些内容。

我注意到有时,我的活动(或位置监听器)的多个实例被“保留”。每次我打开 GPS 提供程序时,我看到的不是 1 个语句“onProviderEnabled:GPS”,而是我的 Activity 的几个不同实例打印了这一行(同时)。

如何清理这些侦听器(= 我的活动),并确保在整个应用程序中只有 1 个保持活动状态。

0 投票
1 回答
1485 浏览

java - 启用 GPS 时启动我的 android 应用程序强制关闭

任何人都可以提供对我的问题的见解吗?

我的应用程序在 GPS 被禁用时工作,但 FC 在 GPS 启用时启动。在冷启动时,它提供了打开 GPS 的选项。之后,按下返回箭头按钮,它返回到应用程序活动(虽然 GPS 图标在状态栏中不可见,但在旁注中,我如何让它显示在这里?)。

在 GPS 仍处于打开状态时,我通过按后退按钮或使用菜单选项退出应用程序。现在,当我尝试启动应用程序时,它是 FC 的。闪烁的 GPS 图标出现在 FC 消息后面,并在我确认 FC 时消失。

这是代码:

这是来自eclipse的logcat:

0 投票
1 回答
1094 浏览

android - onResume() 在从 Activity 重新调整后不调用 setupWebView()

我正在尝试实现从 Activity 返回而无需刷新屏幕。据我所知,有 4 种可能的状态需要处理:

  1. “使用无线网络”和“使用 GPS 卫星”都被禁用(用户被定向到“我的位置”首选项,如果其中任何一个被禁用,则不允许继续)
  2. 这两个启用之一(2 种可能性中的 1 个) 3, 两者都启用

我的问题是,从我的应用程序中的其他活动返回后,每次都会调用 setupWebView() 导致屏幕刷新延迟。

从首选项返回刷新是必要的(例如,启用后的 GPS 得到修复),但肯定不是在从 Activity 返回后,因为重新绘制屏幕的时间延迟会分散注意力并减慢我的应用程序的工作流程。

有人可以建议如何在我的 onResume() 中处理这个问题,以避免所有 setupWebview 调用。

这是我的主要活动中 onResume() 的代码: