2014-05-09 61 views
2

iam试图通过LocationClient接收我的当前位置,但由于某种原因它返回null。我不想使用GPS,因此我已经在我的Manifest中取得了很好的位置访问权限。LocationClient.getLastLocation()返回Null,尽管连接

清单:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<!-- <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> --> 

MainActivity:

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
.... 
mLocationClient = new LocationClient(this, this, this); 
.... 
} 

@Override 
    protected void onStart() { 
     super.onStart(); 
     // Connect the client. 
     mLocationClient.connect(); 
} 

@Override 
    protected void onStop() { 
     // Disconnect the client. 
     mLocationClient.disconnect(); 
     super.onStop(); 
    } 

@Override 
    public void onConnected(Bundle dataBundle) { 
     location = mLocationClient.getLastLocation(); 
     // do something with the current location 
    } 

出于某种原因,除非我的手机上打开设置并启用GPS它总是返回null位置。一旦GPS启用,我可以得到我的位置。它确实通过网络获取位置。我不想使用GPS,我不希望它被启用。但是,如果GPS没有启用,它根本不会得到一个位置。 任何想法我做错了什么?

+1

即粗的功能,必须激活您手机的GPS服务。如果你不想使用GPS服务,你需要激活你的许可。 – zgc7009

+0

哇谢谢,现在它真的好像在工作......我一直认为精细的位置将是GPS ..这就是为什么我删除了这个权限 – user3425561

+0

我第一次开始时做了同样的事情,似乎反直觉,直到你意识到什么事情实际上是在做。 – zgc7009

回答

1

如果你不希望使用GPS比它从网络获得位置,使得它在你的设备如下面的截图中提到的

+0

是多数民众赞成在问题..当我禁用GPS我根本没有得到一个位置 – user3425561

+0

@ user3425561:我正在讨论启用“使用无线网络”复选框,以便它可以提供您使用网络提供商的位置。 –

相关问题