【问题标题】:Android Fused Location Provider with disabled location services带有禁用位置服务的 Android Fused Location Provider
【发布时间】:2013-11-18 09:47:57
【问题描述】:

我在一个应用中实现了融合位置提供程序。当我使用禁用的位置服务启动应用程序时,连接正确失败并显示相应的错误对话框,基于来自 Google 的代码示例。当我现在离开应用程序并重新进入它时,再次调用 connect()。即使定位服务仍处于禁用状态,也会调用 onConnected() 回调方法,而不是 onConnectionFailed() 回调。有没有人也看到了这一点并找到了解决方案?即使在重新启动时创建新的 LocationClient 也无济于事。只要应用程序刚刚被发送到后台并且没有真正关闭(使用正在运行的活动的完成()),我就不会再次收到消息。

【问题讨论】:

    标签: android geolocation google-play-services


    【解决方案1】:

    这确实是一种奇怪的行为,我可以建议一种不同的方法来检查粗略的位置可用性,尝试以下方法:

    public boolean isCoarseLocationEnabled(Context context){
    if (context() != null) 
    {
        LocationManager manager = (LocationManager) context.getSystemService(android.content.Context.LOCATION_SERVICE);
        if ( !manager.isProviderEnabled( LocationManager.NETWORK_PROVIDER ) ) {
            return false;
        }
        return true;
    }
    

    }

    如果粗略位置可用,则返回 true,否则返回 false。

    【讨论】:

      猜你喜欢
      • 2015-05-17
      • 2015-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-17
      相关资源
      最近更新 更多