Android位置提供程序包的源代码

时间:2013-06-13 15:17:07

标签: android network-programming android-source

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

{{1}}找不到

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

1 个答案:

答案 0 :(得分:6)

包名称在/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安卓团队中引用message by Mike Lockwood

  

网络位置提供程序曾经是开源的,但是   已被删除。我们这样做是因为我们想要核心android   框架独立于任何Google的服务。我们也是   担心有人可能会发运使用网络位置的手机   没有告知用户它的存在。既然如此   将用户的位置传达给我们的服务器,我们希望确保这一点   它是严格的选择加入服务,用户了解我们的   隐私准则。所以现在我们只提供NetworkLocation.apk   以二进制形式发送给同意遵守我们的指导原则的合作伙伴   它被使用了。

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

如果您对与Google位置服务后端通信的代码特别感兴趣,您应该查看LocationMasfClient课程,您可以看到here