2

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 が有効になっていない場合、位置情報はまったく取得されません。私が間違っていることは何ですか?

4

1 に答える 1

1

ネットワークから場所を取得するよりも GPS を使用したくない場合は、下のスクリーンショットで説明されているように、デバイスで有効にします。

于 2014-05-09T14:40:26.870 に答える