问题标签 [android-gps]
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.
java - GPS 可在除 Lollipop 之外的所有设备上运行
很久以前,我编写了一个需要知道设备位置的 Android 应用程序。为了抽象对设备位置的访问,我编写了一个类,该类管理所有与位置相关的事物,存储当前设备的位置,并在 GPS 或 Internet 状态发生变化时调用主要活动以通知用户。
该应用程序一直在所有设备上运行,直到我购买了 Lollipop 随附的三星 Galaxy A5 2016。它适用于我在旧 Android 版本上测试过的所有 Jellybean 设备,但在 A5 2016 上,用户会收到 GPS 状态更改的通知,但方法 onLocationChanged() 不能正常工作,因为存储在此类上的位置始终为空. 为什么这个获取位置的课程在所有设备上都有效,而现在在 Lollipop 上它停止工作了?真是令人沮丧。Android 应用程序应该是向前兼容的。这是管理位置的类的代码,它已停止在 Lollipop 上工作。在 Lollipop 之前,位置曾经存储在类型为 的类的实例属性上Location
,但从 Lollipop 开始,位置不再存储。
android - 服务内 gps 的 requestPermissions() 。错误:“位置提供程序需要 ACCESS_FINE_LOCATION 权限。”
我面临的问题是通过我正在编写的服务向应用程序授予 gps 权限。我尝试找到一个示例来实现这一点,示例显示在 Activity 中编写一个 gpslocation 查找器,但在这种情况下,我想在服务中实现它。
服务代码如下:
这是我在 Manifest.xml 中的代码:
在这里,我附上了错误日志,显示了我面临的错误。我可以将错误视为“位置提供程序需要 ACCESS_FINE_LOCATION 权限”。 错误日志:
android - 如何确保 requestLocationUpdates 始终获取位置?
我正在使用 android 的位置管理器,我注意到当我在打开 GPS 后立即尝试使用 requestLocationUpdates 时,它给出了一个空位置。当我调用 requestlocationupdates 时,如何确保始终获得有效位置?
我的代码是:
android - 应用启动时在 android 谷歌地图中获取当前位置(纬度,经度)
仅供参考: 我已经搜索了合适的答案,但找不到。它们中的大多数都是旧的并且使用了不推荐使用的方法。
我需要的是,当应用程序启动时,它将在当前位置显示带有标记的谷歌地图。我可以使用纬度和经度设置标记。但是,我找不到任何使用GPS获取当前经纬度的方法。
您能帮我使用 GPS 获取当前的经纬度吗?
提前致谢。
android - Android应用程序及其服务在打开某些应用程序后被杀死
我正在开发一个应用程序来跟踪用户点击开始按钮时的位置。我实现了一项服务来使用 LocationListener 记录位置,它运行良好,但我已经完成了一些繁重的测试,当我打开一些应用程序时,我的应用程序和服务被 android 随机杀死。
但是我下载了一个名为 Wikiloc 的应用程序并进行了同样的繁重测试,打开了多个应用程序,这个应用程序永远不会被杀死,我看到该应用程序创建了一个无法关闭的通知。这可能与应用程序从未被系统杀死的事实有关吗?
如何在我的应用程序中实现这一点?我必须做通知技巧吗?如果是这样,它是如何实施的?
android - 从内置方法 distanceTo 获取错误的距离
我试图从纬度日志中获取距离,但打击方法返回错误的距离我该怎么办?
android - 现在获取当前位置,而不是更新
我正在构建一个需要您当前位置来初始化和显示地图的应用程序。我正在请求使用 更新位置LocationManager.requestLocationUpdates(...)
,但这似乎只在位置发生变化时给我数据(例如,我移动了 10 英尺)。我也在尝试使用 getLastKnownLocation,但在一些不常见的情况下(例如打开 GPS 并且不移动打开应用程序)这将为我正在使用的所有提供程序返回 null。
每当 getLastKnownLocation 返回 null 时,我的应用程序无法初始化,直到我移动 10 英尺并接收到位置更新。到目前为止,我还没有找到一种方法来轮询我的位置,也没有发现任何暗示当我requestLocationUpdates(...)
可以在我订阅的那一刻获得我的第一个数据时,而不是在我等待指定的时间段或移动指定的时间段时距离。
一种方法是requestLocationUpdates(...)
在非常小的时间间隔或 0 时间间隔上,将其发送给我当前的位置,然后再次删除 LocationListener,requestLocationUpdates(...)
但这次我使用更大的值来避免耗尽电池。
我正在寻找更好的方法来解决这个问题。可能是 getCurrentLocation() 之类的东西,但实际上是任何有效的东西。
android - requestLocationUpdates() 方法在不改变位置的情况下提供更新 - Android
我使用了检测设备位置变化的onLocationChanged
方法。LocationListener
在requestLocationUpdates
方法中,我设置了最小时间 = 5 秒和最小距离 = 2 米,但requestLocationUpdates
即使我的设备根本没有移动(静止放置),方法也会给我更新。所以请告诉我的代码有什么问题?
这是我的代码:
.
.
android - onLocationChanged(位置位置)不起作用 - Android
当任一位置更改(设备的位置)至少 1 米(近 40 英寸)或至少 30 分钟过去时,我已使用类manager.requestLocationUpdates("gps", 1800000, 1, new LocationDetector());
方法获取更新。但是当我将设备的位置更改 1 米(甚至更多)时,没有收到更新。那么可能是什么问题?请告诉。LocationManager manager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
代码: