Soru & Cevap

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);
					
								
				 }

				

		}
				
			}
				

 

0 Görüntülenme

0 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.