LocationManager 的 Criteria.POWER_LOW 的含义

问题描述

Criteria class 没有详细记录。
有人可以解释一下 POWER_HIGHPOWER_LOW 究竟发生了什么变化吗?
是关于电池排水吗?

criteria.setPowerRequirement(Criteria.POWER_LOW);                
criteria.setAccuracy(Criteria.ACCURACY_FINE);
...
locationManager.requestSingleUpdate(criteria,locationListener,null);

更新: 我浏览了一些源代码。事实证明,在我的示例中忽略了此参数,因为也设置了准确度。

createFromDeprecatedCriteria() 中的

LocationRequest.java

    ...
    int quality;
    switch (criteria.getAccuracy()) {
        case Criteria.ACCURACY_COARSE:
            quality = ACCURACY_BLOCK;
            break;
        case Criteria.ACCURACY_FINE:
            quality = ACCURACY_FINE;
            break;
        default: {
            if (criteria.getPowerRequirement() == Criteria.POWER_HIGH) {
                quality = POWER_HIGH;
            } else {
                quality = POWER_LOW;
            }
        }
    }
    ...

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)