当我调用位置管理器时无法解析方法“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_PROVIDERGPS_PROVIDER 之前不会被调用

作为:

    locationManager.requestLocationUpdates(locationManager.GPS_PROVIDER, 0, 0, (LocationListener) this);
    locationManager.requestLocationUpdates(locationManager.NETWORK_PROVIDER, 0, 0, (LocationListener) this);

现在它工作了:)

【讨论】:

以上是关于当我调用位置管理器时无法解析方法“requestLocationUpdates”的主要内容,如果未能解决你的问题,请参考以下文章

Android SDK 管理器无法解析 xml

连接 HSQL 数据库管理器时无法从 Java 代码连接到 HSQL 数据库

退出python上下文管理器时返回值

Android:使用支持片段管理器时复制片段

Typescript:使用装饰器时的类型推断

使用位置管理器时,我的 Swift 应用程序耗电非常快