【问题标题】:Can not stop fusedLocation updates using removeLocationUpdates无法使用 removeLocationUpdates 停止 fusedLocation 更新
【发布时间】:2018-08-12 21:33:37
【问题描述】:

我创建了一个名为 MyLocationProvider 的类,其中包含fusedLocationAPI 中提供的所有方法以及以下停止位置更新的方法:

private void stopLocationUpdates() {
    mFusedLocationClient.removeLocationUpdates(mLocationCallback);
}

在主要活动中,我像这样使用这个类:

MyLocationProvider mylocation=new MyLocationProvider(this);

位置更新工作正常,但我对 requestLocationUpdates 的工作方式感到困惑。当我关闭应用程序时,requestLocationUpdates 没有停止(它看起来像后台进程,但未在设备服务中列出)。当我打开应用程序时,MyLocationProvider 的新实例也开始工作,并且我从我的设备接收到多个并行更新。

当位置提供程序似乎不是我的应用程序的一部分时,我应该如何使用removeLocationUpdates 来停止位置提供程序的确切实例?

【问题讨论】:

  • 当你调用了这个停止方法??
  • 这个方法我不知道怎么用。当我关闭应用程序时,我丢失了 MyLocationProvider 的创建实例。我以后如何访问它? @Md.ibrahimkhalil
  • 抱歉来晚了。请看答案...

标签: android fusedlocationproviderapi


【解决方案1】:

在你使用的片段或活动的停止或销毁方法上调用此方法。

【讨论】:

  • 如何访问我在之前运行中创建的mylocation?事实上,MyLocationProvider mylocation=new MyLocationProvider(this); 每次打开应用程序时都会运行一个新的位置服务实例。
  • 使其全局化,然后从 onstop 或 On destroy 访问它
猜你喜欢
  • 2023-03-21
  • 1970-01-01
  • 2015-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多