LocationClient を介して現在の場所を取得しようとしていますが、何らかの理由で null が返されます。GPS を使用したくないので、マニフェストで詳細な位置情報へのアクセス許可をダミーで表示しました。
マニフェスト:
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!-- <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> -->
主な活動:
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 が有効になっていない場合、位置情報はまったく取得されません。私が間違っていることは何ですか?