【问题标题】:Turn off GPS icon when LocationListener is sleeping当 LocationListener 处于睡眠状态时关闭 GPS 图标
【发布时间】:2010-07-26 08:21:00
【问题描述】:

我在 Android 中的 LocationListener 有点挣扎。我想制作一个应用程序来获取当前的 GPS 位置,然后睡很长时间。一天或更长时间。在这段时间内,我希望 GPS 通知图标不显示。

我现在拥有的是 onLocationChanged 一个 Thread.sleep(x) 但这将使图标在睡眠期间保持打开状态。我该怎么做,有没有比使用 Thread.sleep 更好的方法?

提前致谢

【问题讨论】:

    标签: android gps


    【解决方案1】:

    为此,您必须完全关闭 LocationManager。我是在我的应用程序中完成的,我只每 10 秒检查一次位置,因为我发现关闭比 LocationManager 的 min_distance 或 min_time 节省更多的电池电量。

    类似:

    // Turning off
    mLocationManager.removeUpdates(gpsListener);
    mLocationManager = null;
    
    // Turning on again
    mLocationManager = (LocationManager) getApplicationContext().getSystemService(Context.LOCATION_SERVICE);            
    mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, GPS_MINTIME, GPS_MINDISTANCE, gpsListener);
    

    图标会消失,直到重新打开 LocationManager。

    【讨论】:

    • 嘿Fluffball 是的,我终于想通了,完全按照你描述的方式做了。我还了解到 Thread.sleep 很糟糕。阅读有关 Handler 类以及如何延迟任务的信息。这结果很糟糕,因为我最终得到了递归函数。而且由于我有可变延迟,我无法使用重复方法。我终于坚持使用警报管理器,它就像一个魅力。谢谢你的回复:)
    【解决方案2】:

    如果您有叠加层,请考虑禁用它们上的位置:

    @Override
    protected void onResume()
    {
        Log.i("ProjetTEA", "onResumeMain");
        if (mLocationListener != null)
        {
            mLocationOverlay.enableMyLocation();
            mLocationManager = (LocationManager) getApplicationContext().getSystemService(LOCATION_SERVICE);
            mLocationManager.requestLocationUpdates(mBestProvider, 10000, 2, mLocationListener);
        }
        super.onResume();
    }
    
    @Override
    protected void onPause()
    {
        Log.i("ProjetTEA", "onPauseMain");
        mLocationOverlay.disableMyLocation();
        mLocationManager.removeUpdates(mLocationListener);
        mLocationManager = null;
        super.onPause();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-12
      • 1970-01-01
      • 2017-02-23
      • 1970-01-01
      • 2021-08-26
      • 2011-10-06
      • 2020-06-11
      相关资源
      最近更新 更多