当前位置: 首页 > news >正文

踩坑记录:adb修改settings数据库ContentObserver无回调

在Android 14版本开发过程中遇到一个,通过adb修改settings数据库,发现生效但是监听的ContentObserver无回调

以背光亮度值调节为例

adb  shell settings put system screen_brightness 18

调节亮度值到指定值,修改完后查看

adb shell settings get system screen_brightness18

修改完成,生效,但是ContentObserver的onChange(...)无回调

尝试了多种方式,无效。

修改方法如下:

1.首先查看是否有多个用户,以及当前运行的user id

adb shell pm list users  //查看有多少个user idUsers:UserInfo{0:Driver:111} runningUserInfo{10:Driver:222} running

其中0表示当前正在运行的用户的user ID,name是用户名,显示设备有两个user

2.执行adb 命令修改settings数据库要加上指定user

adb shell settings put system screen_brightness 18 --user 0

指定user 0即可,如果不加user 0指定user 0,修改的会是user 10,但是ContentObserver的user.id是0,所以无回调

如何判断是user 0

可以执行如下打印,会发现打印的userId是0

context.getContentResolver().getUserId()

单用户不用

也可以看settings的数据

/data/system/user,会发现下面有0和10两个文件夹,高版本Android settings不再使用db存,而是xml文件

http://www.lryc.cn/news/447647.html

相关文章:

  • JAVA毕业设计183—基于Java+Springboot+vue的旅游小程序系统(源代码+数据库)
  • [大语言模型] 情感认知在大型语言模型中的近期进展-2024-09-26
  • WiFi无线连接管理安卓设备工具:WiFiADB
  • Django项目配置日志
  • 在IntelliJ IDEA中设置文件自动定位
  • 机器学习笔记 - week6 -(十一、机器学习系统的设计)
  • 对c语言中的指针进行深入全面的解析
  • xxl-job 适配达梦数据库
  • Linux 配置与管理 SWAP(虚拟内存)
  • yolo自动化项目实例解析(七)自建UI--工具栏选项
  • 贝锐洋葱头浏览器随时随地访问教务系统,轻松搞定选课
  • django drf to_internal_value
  • map(lambda x: x[0], sorted(count.items(), key=lambda x: (-x[1], x[0]))[:n])
  • 灰度重心法求取图像重心
  • Go Mail设置指南:如何提升发送邮件效率?
  • kali的tplmap使用报错解决
  • DAY16||513.找树左下角的值 |路径总和|从中序与后序遍历序列构造二叉树
  • 使用jQuery处理Ajax
  • uni-app App版本更新
  • Python Web 与低代码/无代码平台的深度融合
  • js 如何监听 body 内容是否改变
  • python: 数字类型的一些函数
  • MapReduce学习与理解
  • Animal objDog = new Dog()和 Dog objDog = new Dog()的区别
  • springboot引入netty
  • PWM基础与信号控制
  • nvm,一款nodejs版本管理工具
  • 数据处理与统计分析篇-day11-RFM模型案例
  • 【PostgreSQL】PostgreSQL数据库允许其他IP连接到数据库(Windows Linux)
  • 通义千问:让我的编程工作效率翻倍的秘密武器