【问题标题】:Error fusedLocationApi requestLocationUpdates() non-activity class error错误 fusedLocationApi requestLocationUpdates() 非活动类错误
【发布时间】:2023-03-17 21:10:01
【问题描述】:

您好,我是 stackoverflow 的新手。我希望有人知道如何在 Android 中使用 FusedLocationApi 调用方法 requestLocationUpdates。

我正在尝试调用一个非活动类,该类实现了用于请求位置更新的类: LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, this);

但它显示消息“无法解析方法 requestLocationUpdates(...)”

 /**
 * Requests location updates from the FusedLocationApi.
 */
protected void startLocationUpdates() {
  LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, this);
}

我使用的非活动类实现了 ConnectionCallbacks、OnConnectionFailedListener 和 LocationListener 并扩展了我的活动类。

public class OnMapGps extends OnActivity implements
    GoogleApiClient.ConnectionCallbacks,
    GoogleApiClient.OnConnectionFailedListener,
    LocationListener {

    ...
    ...
}

显示的错误是:

Error:(306, 42) error: no suitable method found for requestLocationUpdates(GoogleApiClient,LocationRequest,OnMapGps)
method FusedLocationProviderApi.requestLocationUpdates(GoogleApiClient,LocationRequest,LocationListener)
is not applecable (argument mismatch; OnMapGps cannot be converted to LocationListener) 

【问题讨论】:

  • 看来您将遇到更多问题,因为您说您正在将 Activity 类扩展为“非活动”类。

标签: android location updates locationlistener fusedlocationproviderapi


【解决方案1】:

我找到了解决方案,似乎我的导入 LocationListener 错误。我有

import android.location.LocationListener;

正确的是

import com.google.android.gms.location.LocationListener;

我认为我必须要求自己找到解决方案。 :P

【讨论】:

    【解决方案2】:

    我通过将“this”转换为“LocationListener”对象解决了这个错误

    LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, (LocationListener) this);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多