我有一个要求,其中我需要一个编辑/更改的所有联系人的列表。
_SYNC_DIRTY
每次编辑联系人时都会设置。但是,这里似乎有一个bug,这使得它总是设置为1(无论如何),即使我们明确地将它设置为0。
所以,我想知道我是否可以在联系人数据库上创建一个SQLite TRIGGER。这样,每次编辑联系人时,编辑的联系人ID都会填充到一个不同的表中,我可以稍后从我的应用程序中阅读。
我试过了......
CREATE TRIGGER IF NOT EXISTS updated_contacts UPDATE ON 'contacts.db'.phones
BEGIN
INSERT INTO updated_table SET updated_id=old.person;
END;
但这里有一些问题......
1)'phones'是联系人数据库中的一个表。但是,我不确定联系人数据库的名称(这里我假设它是'contacts.db')。
2)updated_table是我从我的应用程序创建的另一个数据库“mydatabase.db
”的表。而且,我不确定是否可以在不同的数据库中设置TRIGGERS
。
Android 1.6中的所有这些
此外,我不确定在Android上访问本机联系人数据库的权限。
还有其他方法可以达到这个目的。
任何关于此的信息都会有很大的帮助。
感谢。
答案 0 :(得分:4)
所以,我想知道我是否可以创建一个 关于联系人的SQLite TRIGGER 数据库中。
您无权访问基础SQLite数据库。
您可以尝试使用registerContentObserver()
通知,因为联系人已更改。