0
我找了很多的代碼來檢測noveaux添加聯繫人如何創建一個服務檢測添加新聯繫人
例如
public class ContactsObserver extends ContentObserver {
private final static String TAG = ContactsObserver.class.getSimpleName();
private Context ctx;
private List<ContactsChangeListener> listeners = new ArrayList<ContactsChangeListener>();
private ContactsObserver(Context ctx) {
super(new Handler());
this.ctx = ctx.getApplicationContext();
ctx.getContentResolver()
.registerContentObserver(
ContactsContract.Contacts.CONTENT_URI, // uri
false, // notifyForDescendents
this); // observer
}
@Override
public void onChange(boolean selfChange) {
Log.i(TAG, "Contacs change");
for(ContactsChangeListener l : listeners){
l.onContactsChange();
}
}
@Override
public boolean deliverSelfNotifications() {
return false; // set to true does not change anything...
}
public static ContactsObserver register(Context ctx){
Log.d(TAG, "register");
return new ContactsObserver(ctx);
}
public void unregister(){
Log.d(TAG, "unregister");
ctx.getContentResolver().unregisterContentObserver(this);
}
public void addContactsChangeListener(ContactsChangeListener l){
listeners.add(l);
}
public interface ContactsChangeListener{
void onContactsChange();
}
}
但是這個代碼是與活動相關聯,
我認爲應用程序在打開時工作,但我想要一個服務使用ContentObserver
是什麼取代此代碼的執行
getContentResolver()
.registerContentObserver(
ContactsContract.Contacts.CONTENT_URI, true,
new MyCOntentObserver());
放在服務法 「的OnStart」