android源代码在 彩信sms 表和彩信 pdu表,增加了一个触发器
CREATE TRIGGER delete_obsolete_threads_pdu AFTER
DELETE ON pdu BEGIN
DELETE FROM threads
WHERE _id = old.thread_id AND _id NOT IN
(SELECT thread_id FROM sms UNION SELECT thread_id from pdu);
END
仔细看下就明白,如果threads表没有sms和pdu外部引用的时候,这条thread就会被删除。
thread被删除后,你再插入一条短信或者彩信(当然是代码插入),这时候因为没有thread id,所以就会不显示。
有人可能想到对threads表一起进行维护不就行了吗? 很不幸 ,系统对这个表的providers并不完全开放,只能用于查找。
但我们这时候又需要thread_id, 我对源代码进行了一些修改,把thread类提取了出来,仅供大家参考
package com.sweetop.provider;
import java.util.HashSet;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import android.content.Context;
i