当我调用位置管理器时无法解析方法“requestLocationUpdates”
Posted
技术标签:
【中文标题】当我调用位置管理器时无法解析方法“requestLocationUpdates”【英文标题】:cannot resolve method ' requestLocationUpdate' when i call LocationManger 【发布时间】:2016-08-29 07:43:36 【问题描述】:我正在尝试使用locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
但我得到一个错误说:
我认为它可能来自错误的 LocationListerner
库,但这是我导入的所有库
import android.Manifest;
import android.content.Context;
import android.content.pm.PackageManager;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationManager;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.ActivityCompat;
import android.support.v4.app.FragmentActivity;
import android.os.Bundle;
import android.widget.Toast;
import com.example.ahmed.mob_review.MainActivity;
import com.example.ahmed.mob_review.R;
import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.api.GoogleApiClient;
import com.google.android.gms.location.LocationListener;
import com.google.android.gms.location.LocationServices;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
已编辑
我认为它来自最后一个参数this
【问题讨论】:
【参考方案1】:试试这个...
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0,0, (LocationListener) this);
【讨论】:
cannot be cast to android.location.LocationListener
确保您的活动实现 com.google.android.gms.location.LocationListener 而不是 android.location.LocationListener..【参考方案2】:
已解决:
活动应从LocationListener
实施
我要将 this
活动转换为 LocationListener
onLocationChanged
在我请求 NETWORK_PROVIDER
和 GPS_PROVIDER
之前不会被调用
作为:
locationManager.requestLocationUpdates(locationManager.GPS_PROVIDER, 0, 0, (LocationListener) this);
locationManager.requestLocationUpdates(locationManager.NETWORK_PROVIDER, 0, 0, (LocationListener) this);
现在它工作了:)
【讨论】:
以上是关于当我调用位置管理器时无法解析方法“requestLocationUpdates”的主要内容,如果未能解决你的问题,请参考以下文章