Android 位置已弃用?

Posted

技术标签:

【中文标题】Android 位置已弃用?【英文标题】:Android Location deprecated? 【发布时间】:2018-01-25 12:31:36 【问题描述】:

我注意到 android Location 似乎已被弃用。我在 API 参考 (https://developer.android.com/reference/android/location/package-summary.html) 中发现:此 API 不是访问 Android 位置的推荐方法。

这很令人困惑,因为在 Location 类的 API 中没有关于此的信息。它仍然运作良好。

我想有一些很好的理由停止使用 Location 类。我想知道哪种是定位用户和实现基于位置的应用程序的推荐方法。我是否必须将我的应用程序更改为新的链接方式?我有点失望,这句话只有一页。

【问题讨论】:

由于旧 API 存在一些性能问题,例如电池耗尽问题。所以,谷歌推荐我们使用developer.android.com/training/location/index.html。而且他们不会为已弃用的 API 提供进一步的支持或添加新功能。 【参考方案1】:

是的,android LocationApi 已被弃用。

FusedLocationProviderApi 也已弃用 https://developers.google.com/android/reference/com/google/android/gms/location/FusedLocationProviderApi

现在您应该迁移到新的 FusedLocationProviderClient -- https://developers.google.com/android/reference/com/google/android/gms/location/FusedLocationProviderClient

【讨论】:

【参考方案2】:

android.location 不再受支持并不一定是真的,因为它实际上在 Android Oreo 上进行了一些 API 更改(查看 Location 类)。它只是一个在所有 Android 设备上通用的“低级”位置 API,但并没有提供 Google 的 Fused Location Provider 所具有的省电和准确性优势。在这一切之下,Fused Location Provider 以一种高效的方式利用了android.location

除非您确实需要对定位呼叫进行精细控制并且能够正确管理您为其拨打的呼叫的功耗,否则建议使用 Fused Location Provider。

【讨论】:

以上是关于Android 位置已弃用?的主要内容,如果未能解决你的问题,请参考以下文章

startIntentSenderForResult 已弃用 Android

Android getAllNetworkInfo() 已弃用。啥是替代方案?

minSdk,targetSDK,已弃用 - Android

Android TabHost 已弃用

我需要创建 Android 键盘应用程序,但有些类已弃用

Android 状态条码已弃用