Android 定位服务在应用处于暂停状态时随机崩溃

Android location services crashes the app randomly when it is in the paused state

我定义了一项服务,该服务 运行 在后台运行,每 5 分钟请求一次位置更新。当应用程序处于暂停状态(即后台 运行s)或我在设备 "Unfortunately google play services has stopped working" 上收到此错误消息时,应用程序会间歇性崩溃。我认为这是因为应用程序正在请求位置更新,即使应用程序已暂停,这是我不想要的。

我已经在这个要点中添加了我的服务,因为它太长了,无法粘贴到这里

https://gist.github.com/anonymous/214f8fe6948314a2d043

你如何建议我确保我的应用程序不会由于这些位置更新而随机崩溃。有什么方法可以在应用程序暂停时暂停位置更新?我在网上看到可能是内存泄漏,大家怎么看?我在 LAUNCHER activity 中启动我的服务,并且该服务应该 运行 在所有其他应该加载的活动中。

在您 activity 的暂停中,像这样删除位置侦听器的位置更新:

@Override
protected void onPause(){
    //Toast.makeText(getApplicationContext(), "Onpause", 0).show();
    super.onPause();
    location_manager.removeUpdates(YourActivity.this);
}