登陆微信后联系人会全部消失
猜测:
1 微信登录更新账户将db整个移除了或者将数据全部delete了debug provider的delete case
2 查看Logcat 异常02-24 11:20:23.432 3626-6692/android.process.acore I/ContactsProvider: Accounts changed02-24 11:20:23.533 3626-6692/android.process.acore I/ContactsProvider: Accounts changed02-24 11:20:23.589 3626-6692/android.process.acore I/ContactDirectoryManager: deleted 0 stale rows which don't have any relevant directory02-24 11:20:23.613 3626-6692/android.process.acore I/ContactDirectoryManager: Discovered 0 contact directories in 45ms
3 批量插入的不会消失,手动插入的会消失查看插入字段的异同通过account change关键字发现可能是account 发生改变导致
[Root Cause]ContactsProvider监听到Account发生改变后会将非本地账户的数据清除掉,防止其他账户数据重复或者错乱,比如微信账户,问题出在本地账户的判断上:
只将空账户视为了本地账户,空账户或者为sim卡账户或者为Local Phone Account都应该视为本地账户。
[Solution]改变账户判断规则:空账户,sim卡账户,Local Phone Account都视为本地账户。
网友评论