Android Location开关过程分析

本文探讨了Android设备Location设置在刷机后初始状态不一致的问题,并详细分析了Location的三种工作模式:high_accuracy、battery_saving和sensors_only。通过设置数据库中的Settings.Secure.LOCATION_PROVIDERS_ALLOWED字段,可以控制定位服务的提供者。使用ADB命令可以查看不同模式下location_providers_allowed的值,例如关闭时为空,high_accuracy模式包含network和gps,battery_saving模式只有network,而sensors_only模式则只有gps。
摘要由CSDN通过智能技术生成

Android Location开关过程分析

有同事发现目前车机的location位置在刷机(线刷之后),每次的location初始值(在settings中看见的)都不一致.之前对这个是一点都没接触过,所以今天拿出来研究下,凑一篇博客.

location的三种工作模式?

从settings->location界面来看,location主要有三种工作模式:

high_accuracy battery_saving sensors_only

对应代码:

//packages/apps/Settings/src/com/android/settings/location/LocationMode.java
int mode = Settings.Secure.LOCATION_MODE_OFF;//其实还有一种off模式
        if (emiter == mHighAccuracy) {
            mode = Settings.Secure.LOCATION_MODE_HIGH_ACCURACY;
        } else if (emiter == mBatterySaving) {
            mode = Settings.Secure.LOCATION_MODE_BATTERY_SAVING;
        } else if (emiter == mSensorsOnly) {
            mode = Settings.Secure.LOCATION_MODE_SENSORS_ONLY;
        }
setLocationMode(mode);

迅速找到setLocationMode

//packages/apps/Settings/src/com/android/settings/location/LocationSettingsBase.java
public void setLocationMode(int mode) {
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值