仅限locationmanager的Android源代码?

标签 android location currentlocation

我想知道如何在 Android 应用程序中通过没有 GPS 的网络提供商找到地理位置?

  • 信号塔的三角测量究竟是如何在代码中实现的,以及如何获取信号塔的纬度和经度以通过 NETWORK_PROVIDER 获取准确位置?

  • 我在哪里可以找到实现此功能的源代码? (Android 是一个巨大的代码库,我不知道如何绕过它)。

  • 我不能直接使用 LocationManagerLocationProvider 或任何类或对象,因为我想在硬件中模拟此功能,所以我只想转换源具有相同功能的 C 代码。

最佳答案

很抱歉,谷歌还没有开源这部分代码。

可以看到LocationManagerService——它talks to a remote service使用 LocationProviderProxy。该实现在 KitKat 之前的发行版中的 NetworkLocation.apk 中,由 Google 在每部 Android 手机上提供。 (在 KitKat 中它在 Google Play 中)

KitKat 的相关包名:

private static final String NETWORK_LOCATION_SERVICE_ACTION =
        "com.android.location.service.v3.NetworkLocationProvider";

Google 使用 WiFi 定位数据 + Cell ID 信息进行三角测量。

我想你想知道小区 ID 定位是如何发生的——从 2G 到 WCDMA 再到 LTE,有许多定位协议(protocol)。我想您会发现这份思博伦白皮书很有趣 - An overview of Hybrid Location technologies

关于仅限locationmanager的Android源代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19873009/

相关文章:

android - 在待完成的 Activity 消失后,找出当前 Activity 是否最终会成为任务根

安卓位置服务 : Can I use a single location listener for both GPS and Network Location?

php - 使用 ob_start 时如何在 php 中使用 header 位置重定向?

android - Location getAccuracy() 这个函数有什么作用?

swift - 如何将经纬度传递给 APIURL?

ios - 无法通过当前经纬度快速获取城市名称

iphone - map View 显示最近的位置

安卓NDK : How to handle Back key press in Cocos2dx?

c# - Epson TM-U220 USB 打印错误

android - AudioRecorder.getMinBufferSize() 返回 -2