我试图通过LocationClient接收我当前的位置但由于某种原因它返回null。我不想使用GPS,因此我在我的Manifest中删除了精确的位置访问权限。
清单:
<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,它根本就没有位置。 任何想法我做错了什么?
答案 0 :(得分:1)
如果您不想使用GPS而不是从网络获取位置,请在您的设备中启用它,如下面的屏幕截图所示