【问题标题】:How to disable location listener when app goes background in android 4.4.2当应用程序在android 4.4.2中进入后台时如何禁用位置监听器
【发布时间】:2014-03-25 12:49:37
【问题描述】:

情况如下:my app calls onPause: theLocationManager.removeListener(..)

android 4.4.2 中,顶部栏中的 gps 图标消失了,几分钟后它又出现了(应用程序仍在后台)。 如果我从最近列表中删除应用程序,图标将消失。

Android 4.1.2没有这个问题。

关于当应用程序进入后台时如何disable gps 的任何想法? 4.4.2 有解决方法吗?

谢谢!

【问题讨论】:

    标签: android gps geolocation location android-4.4-kitkat


    【解决方案1】:

    我相信这可能与销毁活动的方式发生了变化有关(虽然不完全确定)。我相信您想在 onStop() 方法中执行此操作,以便当此活动不再可见时,停止请求更新。

    @Override
    public void onStop() {
       super.onStop();
       locationManager.removeUpdates(this); // Assuming the calling class implements a location listener
    }
    

    这应该会有所帮助,无论如何都值得一试。

    【讨论】:

    • 非常感谢!我也尝试在 onStop 方法中实现它,它仍然会发生。我们正在 Nexus 4 设备上进行测试。不要认为是特定于设备的问题。我会继续调查!
    • 您用于“this”的类是否确实实现了位置侦听器?还要确保您没有在应用程序的任何其他位置为位置管理器设置更新侦听器。祝你好运!
    • 你肯定在使用 removeUpdates(this) 而不是 removeListener()
    • 原来应用在自定义基本活动的 onResume 方法上添加了位置监听器,而不是使用单态位置管理器......所以当它停止一个时,已经启动另一个。我已经修复了它,它工作正常!谢谢大家!!!
    猜你喜欢
    • 2019-08-17
    • 2021-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-20
    • 2012-02-11
    • 2018-07-13
    相关资源
    最近更新 更多