Ich habe einen ContentObserver
vom Dienst registriert und ich bekomme die onchange()
Funktion, wenn es in Telefon wie Anruf oder Kontaktaktualisierung aktualisiert wird. Aber ich möchte die onchange()
Funktion nur aufgerufen werden, wenn hinzufügen, aktualisieren oder löschen passiert. Aber ich will nicht, wenn Anruf eingehend oder ausgehend ist. Kann mir jemand sagen, welche URI
ich in contentObserver
registrieren kann? Mein Code ist hierContentObserver für Kontaktaktualisierung manuell
getContentResolver().registerContentObserver(ContactsContract.Contacts.CONTENT_URI, true,new Contact_change());
und Contact_change.java Klasse ist wie
public class Contact_change extends ContentObserver{
public Contact_service() {
super(null);
}
@Override
public void onChange(boolean selfChange){
Log.i("contact_service","onchange");
Super.onChange(selfChange);
}
@Override
public boolean deliverSelfNotifications() {
return true;
}
}
Edit:
ich ein weiteres Problem ist, dass nach dem Dienst beenden, wenn ich Änderung in Kontakt machte dann auch onchange()
Funktion wird aufgerufen. Also wie kann ich das stoppen oder die contentobserver
registrieren.
Ich glaube nicht, dies möglich ist. Der Zeitpunkt des letzten Anrufs ist ein Feld des Kontakts, daher ändert sich der Kontakt – njzk2
Ist es eine andere Möglichkeit, Benachrichtigungen über Kontaktänderungen zu erhalten, weil ich die Kontakte mit meiner Anwendung synchronisieren möchte. – Nency
Ich glaube nicht, dass es wirklich ein Problem ist, wenn Sie zusätzliche Benachrichtigungen für Ereignisse erhalten, die Sie nicht benötigen. – njzk2