Observer le rehber değişikliklerini yakalama
27.05.2015 - 10:41
merhabalar observer ile telefon rehberine yeni kişi eklenince yakalayıp kaydetmek istiyorum on change() metodu calısıyor fakat rehberdeki son eklediğim veriyi değil herhangi bir veriyi alıyor sorun nedir acaba?? ayrıca telefonla birini arayınca smsObserver'im devreye giriyor yukarıda dediğim gibi herhangi birini ekranda gösteriyor
this.contactObserver=new ContactObserver(new Handler());
getApplicationContext().getContentResolver().registerContentObserver(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
true, this.contactObserver);
public class ContactObserver extends ContentObserver {
public ContactObserver(Handler handler) {
super(handler);
// TODO Auto-generated constructor stub
}
@Override
public void onChange(boolean selfChange) {
// TODO Auto-generated method stub
super.onChange(selfChange);
}
@SuppressLint("NewApi")
@Override
public void onChange(boolean selfChange, Uri uri) {
// TODO Auto-generated method stub
super.onChange(selfChange, uri);
// Log.d("ssd"+" "+ "onChange: " + selfChange + "\t " + uri.toString());
Uri uri1 = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
String[] proj = new String[] { ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,ContactsContract.CommonDataKinds.Phone.NUMBER
};
Cursor mCursor = getContentResolver().query(uri1,proj, null, null, null);
// this.startManagingCursor(mCursor);
int count = mCursor.getColumnCount();
String COUNT = String.valueOf(count);
Log.e("Contact sayac", COUNT);
String name = "";
String number = "";
if (mCursor.moveToLast())
{
name = mCursor.getString(mCursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
number = mCursor.getString(mCursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
// Log.e("DTE", date);
Log.e("name", name);
Log.e("number", number);
}
}
}
1
Görüntülenme
0 Beğeni