【问题标题】:Miminum play services version required for FusedLocation APIFused Location API 所需的最低播放服务版本
【发布时间】:2019-05-16 13:40:32
【问题描述】:

使用FusedLocationApi设备上安装的播放服务最低版本是多少?

同样LocationManager不需要播放服务,使用LocationManager是否有最低要求。

我想使用涵盖尽可能多设备的任何 API 来获取用户的位置,这就是为什么我担心它们的最低要求。

谢谢。

【问题讨论】:

    标签: android locationmanager fusedlocationproviderapi android-fusedlocation


    【解决方案1】:

    你真的不需要FusedLocationApi。您可以改用普通的 Android API android.location.LocationManager,我不确定它是否能 100% 工作,但您可以尝试进行一些自定义操作:

    //start updates
    HandlerThread thread = new HandlerThread("location updates thread");
    thread.start();
    LocationManager mgr = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
    Looper looper = handlerThread.getLooper();
    String provider = LocationManager.GPS_PROVIDER;//either gps, network, passive, fused
    mgr.requestLocationUpdates(provider,1,1,callback,looper);
    ...
    //stop updates
    mgr.removeUpdates(callback);
    thread.quit();
    

    还要确保在开始位置更新之前请求位置权限

    【讨论】:

      【解决方案2】:

      我想使用涵盖尽可能多设备的任何 API 来获取用户的位置,这就是为什么我关心他们的最低要求。

      您可以开始尝试通过以下方式接收位置信息 FusedLocationProviderClient 如果设备支持 google play 服务。该 api 具有返回自身可用性的方法。

      在不支持的情况下,LocationManager 可以在所有版本上安全使用。您可以请求网络或 gps 提供商的位置,只要设备能够使用它们。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-27
        • 1970-01-01
        • 2015-04-11
        • 2017-03-01
        • 2014-08-27
        相关资源
        最近更新 更多