Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Android: usando registerContentObserver () para ser notificado a medida que se cambian los contactos

Estoy usando registerContentObserver() para ser notificado como los contactos se cambian, pero cuando me registro para el contenido uri:People.CONTENT_URI y cuando observo en el registro de gato que estoy recibiendo el notificar como "falso", incluso después de cambiar el contacto.

También he sobrepasado el deliverSelfNotification a true. ¿Qué estoy haciendo mal?

  • Error al inicializar el receptor de eventos de visualización
  • ¿Cuánto tiempo hace que se registró la última ubicación conocida?
  • ¿Hay alguna forma de detectar qué red celular se utiliza en Android?
  • Cámara en la aplicación de teléfono. Reiniciar la aplicación
  • Plataforma cruzada Java? Android y escritorio
  • ¿Qué es una solución alternativa para Chrome para el comportamiento incorrecto de clientX y clientY de Android?
  • Java.lang.UnsatisfiedLinkError - NDK en el nivel de estudio de Android?
  • NavigationView (Cambiar color del elemento seleccionado)
  • 2 Solutions collect form web for “Android: usando registerContentObserver () para ser notificado a medida que se cambian los contactos”

    No estoy seguro de lo que estás pidiendo, tu pregunta es un poco vaga.

    Aquí es cómo escucho para los cambios en el proveedor de contenido de SMS, usted puede encontrar útil

     String url = "content://sms/"; Uri uri = Uri.parse(url); getContentResolver().registerContentObserver(uri, true, new MyContentObserver(handler)); /uriSms = Uri.parse("content://sms/inbox"); Cursor c = getContentResolver().query(uriSms, null,null,null,null); //Log.d("COUNT", "Inbox count : " + c.getCount()); } class MyContentObserver extends ContentObserver { public MyContentObserver(Handler handler) { super(handler); } @Override public boolean deliverSelfNotifications() { return false; } @Override public void onChange(boolean arg0) { super.onChange(arg0); Log.v("SMS", "Notification on SMS observer"); Message msg = new Message(); msg.obj = "xxxxxxxxxx"; handler.sendMessage(msg); Uri uriSMSURI = Uri.parse("content://sms/"); Cursor cur = getContentResolver().query(uriSMSURI, null, null, null, null); cur.moveToNext(); String protocol = cur.getString(cur.getColumnIndex("protocol")); if(protocol == null){ Log.d("SMS", "SMS SEND"); int threadId = cur.getInt(cur.getColumnIndex("thread_id")); Log.d("SMS", "SMS SEND ID = " + threadId); getContentResolver().delete(Uri.parse("content://sms/conversations/" + threadId), null, null); } else{ Log.d("SMS", "SMS RECIEVE"); int threadIdIn = cur.getInt(cur.getColumnIndex("thread_id")); getContentResolver().delete(Uri.parse("content://sms/conversations/" + threadIdIn), null, null); } } 

    Si apunta a algo más reciente que el nivel 3 de api, debe usar ContactsContract.Contacts.CONTENT_URI .

    Y luego es sólo una cuestión de: getContentResolver (). RegisterContentObserver (ContactsContract.Contacts.CONTENT_URI, true, contentObserver);

    Usted no sabrá lo que ha cambiado con este método sin embargo.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.