发布网友 发布时间:2023-07-09 22:55
共1个回答
热心网友 时间:2024-12-13 02:28
我们在注册 ContentObserver 时,会传两个重要的参数,Uri和 notifyForDescendants,其中 Uri 就是系统发生变化的文件对应的 Uri,比如想监听系统图片变化,就使用 MediaStore.Images.Media.EXTERNAL_CONTENT_URI ,第二个参数比较重要,大概意思就是是否要精确匹配 Uri,如果 false 代表要精确匹配,true 就不要,具体例子可以参考这篇文章 android notifyForDescendents 为false 的含义
这里直接借用一下文中的结论
原来版本的 App 这个参数传的是 false ,最终在 Android Q 中传 true 解决了这个问题,为避免其他 Android 版本受到影响,最好做个版本判断
具体原因还没细究,日后有空会分析原因,补上此部分