2

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

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

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

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

4

1 回答 1

1

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

您可以看到 LocationManagerService - 它使用 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。我想您会发现这份思博伦白皮书很有趣——混合定位技术概述

于 2013-11-09T06:42:01.787 回答