已编辑或更改的联系信息

时间:2015-10-09 02:49:19

标签: android database service listener contacts

当对android中默认联系人应用程序中的任何联系人进行更改时,是否可以知道更改的联系人或至少更改了哪些信息或与之相关的任何信息?

1 个答案:

答案 0 :(得分:1)

您可以知道联系人已更新,但无法知道哪个联系人已更新,因为内容观察员不会通过查询和与旧数据进行比较来告诉您更改了哪一个。

您可以使用以下代码来识别联系人已更新。

public class UpdateActivity extends Activity {
Button registerbutton;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    registerbutton=(Button)findViewById(R.id.button1);
    registerbutton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
        getContentResolver()
            .registerContentObserver(
                    ContactsContract.Contacts.CONTENT_URI, true,
                    new MyCOntentObserver());   
        }
    });
}


public class MyCOntentObserver extends ContentObserver{
    public MyCOntentObserver() {
        super(null);
    }
    @Override
    public void onChange(boolean selfChange) {
    super.onChange(selfChange);
        Log.e("","~~~~~~"+selfChange);
    }  

    @Override
    public boolean deliverSelfNotifications() {
        return true;
    }
}
}