需求:GPS位置信息模式默认为“仅限设备”, 应客户的要求,默认为“高精确度”
修改:/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
- <string name="def_location_providers_allowed" translatable="false">gps</string>
+ <string name="def_location_providers_allowed" translatable="false">gps,network</string>
编译后烧录,发现没变化还是默认仅限设备(我的项目中有gms),追踪源码发现在SettingsHelper.java中被限制了。
源码路径:frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
...
} else if (Settings.Secure.LOCATION_PROVIDERS_ALLOWED.equals(name)) {
setGpsLocation(value);
return;
}
...
private void setGpsLocation(String value) {
UserManager um = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
if (um
GPS模式默认设置与弹窗去除

本文介绍如何修改Android系统中GPS位置信息的默认模式,从“仅限设备”改为“高精确度”。通过修改特定XML文件及Java源码,实现定位模式的变更,并详细解释了如何去除Google应用中的Improvelocationaccuracy弹窗,包括ADB命令使用、源码反编译及系统签名等步骤。
最低0.47元/天 解锁文章
2155

被折叠的 条评论
为什么被折叠?



