問題
Android Studio(1.2.1.1)で「LocationServices.FusedLocationApi.requestLocationUpdates(GoogleApiClient, LocationRequest, this)」を呼ぼうとすると、「Cannot resolve method requestLocationUpdates(GoogleApiClient, LocationRequest, this)」のエラーが出てしまう。
removeLocationUpdates()も同様のエラーになる。
ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
package com.example.sampleapp; import android.content.Context; import android.content.Intent; import android.content.IntentSender; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.SensorManager; import android.location.Location; import android.location.LocationListener; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.widget.TextView; import android.widget.Toast; import com.google.android.gms.common.ConnectionResult; import com.google.android.gms.common.api.GoogleApiClient; import com.google.android.gms.location.LocationRequest; import com.google.android.gms.location.LocationServices; public class OrientationActivity extends FragmentActivity implements SensorEventListener, GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener, LocationListener { private LocationRequest mLocationRequest; private GoogleApiClient mGoogleApiClient; ... protected void startLocationUpdates() { //↓ここがエラーになる LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, this); } protected void stopLocationUpdates() { //↓ここもエラーになる LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleApiClient, this); } } |
原因
requestLocationUpdates()の第3引数とremoveLocationUpdates()の第2引数の型が「android.location.LocationListener」ではなく、「com.google.android.gms.location.LocationListener」なので、import対象が間違っていた。
解決方法
「import android.location.LocationListener;」となっている箇所を「import com.google.android.gms.location.LocationListener;」に修正する。
参照
requestLocationUpdates()
removeLocationUpdates()
LocationListener