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没有启用,它根本不会得到一个位置。 任何想法我做错了什么?
即粗的功能,必须激活您手机的GPS服务。如果你不想使用GPS服务,你需要激活你的许可。 – zgc7009
哇谢谢,现在它真的好像在工作......我一直认为精细的位置将是GPS ..这就是为什么我删除了这个权限 – user3425561
我第一次开始时做了同样的事情,似乎反直觉,直到你意识到什么事情实际上是在做。 – zgc7009