3

我正在尝试为其network_provider实现查找android源代码。到目前为止,我追踪com.android.server.location.LocationProviderProxy并发现它从位置提供程序包名称列表中加载包。包名应该是 in ,我在Android Javadoc 网站com.android.internal.R.array.config_locationProviderPackageNames上找不到。com.android.internal.R.array

这些软件包及其源代码在哪里?

4

1 回答 1

7

包名称在/frameworks/base/core/res/res/values/config.xml中定义:

<string-array name="config_locationProviderPackageNames" translatable="false">
    <!-- The standard AOSP fused location provider -->
    <item>com.android.location.fused</item>
</string-array>

如果您正在寻找融合位置提供程序本身的来源,您可以在 grepcode here或 googlesource here上找到它。

如果您正在寻找网络位置提供程序,那么它的源代码似乎不再可用。引用来自 Google android 团队的 Mike Lockwood 的消息:

网络位置提供程序曾经是开源的,但后来被删除了。我们这样做是因为我们希望核心 android 框架独立于任何 Google 的服务。我们还担心有人可能会在不通知用户其存在的情况下发送使用网络位置的电话。由于它确实将用户的位置传达给我们的服务器,因此我们希望确保它是一项严格的选择加入服务,并且用户了解我们的隐私准则。因此,现在我们仅将 NetworkLocation.apk 以二进制形式提供给同意遵循我们的使用指南的合作伙伴。

至于查找网络位置提供程序的旧版本,我建议谷歌搜索NetworkLocationProvider.java. 我没有看到任何看起来特别权威的东西,但第一个结果来自netmite.com

但是,如果您对与 Google 位置服务后端通信的代码特别感兴趣,您可能应该查看LocationMasfClient该类,您可以在此处看到。

于 2013-06-13T16:32:50.397 回答