联系人信息已编辑或更改
Information of contact edited or changed
当在 android 中对默认联系人应用程序中的任何联系人进行更改时,是否可以知道对哪个联系人进行了更改,或者至少更改了哪些信息或与之相关的任何内容?
您可以知道联系人已更新,但无法知道哪个联系人已更新,因为内容观察者不会告诉您哪个联系人已更改,您必须通过查询和与旧数据进行比较才能找出。
您可以使用以下代码来识别联系人已更新。
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;
}
}
}
当在 android 中对默认联系人应用程序中的任何联系人进行更改时,是否可以知道对哪个联系人进行了更改,或者至少更改了哪些信息或与之相关的任何内容?
您可以知道联系人已更新,但无法知道哪个联系人已更新,因为内容观察者不会告诉您哪个联系人已更改,您必须通过查询和与旧数据进行比较才能找出。
您可以使用以下代码来识别联系人已更新。
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;
}
}
}