1,之前的版本出现Bug:新建name为空的sim卡联系人,无法删除。
解决:
2,而后的版本出现新Bug:新建name不为空,Num不为空的sim卡联系人,然后编辑sim卡联系人,将Name清空,无法保存。
解决:
问题产生的具体原因涉及到Icc处理sim卡,不懂这一块,只能先mark一下,以待后续研究。
关于修改的方法:实际改变的是structuredName--valuesDelta,——> names.get(0).putNull(.,.)置空方法调用与否。
新建sim卡联系人时,names.get(0).putNull(.,.)置空方法不调用,然后联系人可以正常删除。
编辑sim卡联系人时,names.get(0).putNull(.,.)置空方法不调用,然后联系人可以修改name为空,正常保存。
add/update时,如果调用names.get(0).putNull(.,.)置空方法,那么sim卡联系人无法删除。
PS: 但是换一个手机,或是重新刷版本后,之前删不掉的sim卡联系人又可以删除了,所以还是与当前版本Contacts删除操作时的处理有关,估计names.get(0).putNull(.,.)置空方法调用影响database保存的值,导致update/remove时,传递的参数有问题。