मैंने सेवा से ContentObserver
पंजीकृत किया है और मुझे कॉल या संपर्क अपडेट जैसे फ़ोन में अपडेट होने पर onchange()
फ़ंक्शन मिलता है। लेकिन मुझे onchange()
फ़ंक्शन केवल तभी कॉल किया जाना चाहिए जब जोड़ना, अपडेट करना या हटाना होता है। लेकिन मैं नहीं चाहता कि जब कॉल आने वाली या जावक हो। तो क्या कोई मुझे बता सकता है कि URI
मैं contentObserver
में पंजीकरण कर सकता हूं? मेरे कोड यहाँ हैमैन्युअल रूप से संपर्क अपडेट के लिए ContentObserver
getContentResolver().registerContentObserver(ContactsContract.Contacts.CONTENT_URI, true,new Contact_change());
और Contact_change.java वर्ग
तरह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;
}
}
संपादित है:
मैं एक और समस्या यह है कि के बाद सेवा बंद करता है, तो मैं तो यह भी संपर्क में परिवर्तन किया है onchange()
फ़ंक्शन कहा जाता है। तो मैं इसे कैसे रोक सकता हूं या contentobserver
पंजीकृत कर सकता हूं।
मुझे नहीं लगता यह संभव है है। अंतिम कॉल का समय संपर्क का एक क्षेत्र है, इसलिए इसे बदलना संपर्क – njzk2
बदल रहा है क्या यह संपर्क में बदलाव की अधिसूचना प्राप्त करने के लिए अन्य तरीका है? क्योंकि मैं संपर्कों को अपने आवेदन के साथ सिंक्रनाइज़ करना चाहता हूं। – Nency
मुझे नहीं लगता कि यह वास्तव में एक समस्या है यदि आपको ऐसी घटना के लिए अतिरिक्त अधिसूचनाएं मिलती हैं जिनकी आपको आवश्यकता नहीं है। – njzk2