acceder a los contactos de la tarjeta SIM en android
necesito tener acceso a los primeros 10 contactos de la tarjeta del sim en mi teléfono. el código que he usado es el siguiente:
public class simcontacts extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Uri uri16 = Uri.parse("content://icc/adn/"); String[]SimContactsName = new String[250]; String[]SimContactsNumber = new String[250]; int count = 0; ContentResolver cr = getApplicationContext().getContentResolver(); Cursor cur = cr.query(uri16, null, null, null, null); if (cur.getCount() > 0) { while (cur.moveToNext()) { String id = cur.getString( cur.getColumnIndex(ContactsContract.Contacts._ID)); if (Integer.parseInt(cur.getString(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) { Cursor pCur = cr.query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?", new String[]{id}, null); while (pCur.moveToNext()) { String contact = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); String number = pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); SimContactsName[count]=contact; SimContactsNumber[count]=number; count++; } pCur.close(); } } } TelephonyManager telMng = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); for (int i=0; i<10;i++) { Message=Message+SimContactsNumber[i]+"\n"; } Toast.makeText(this, Message, Toast.LENGTH_LONG).show(); }
cuando lo probé en el teléfono, un incendio forestal de htc S, tengo todos los valores nulos. También lo probé con el teléfono contactos uri, ContactsContract.Contacts.CONTENT_URI, y funcionó bien. ¿Cómo puedo acceder a contactos SIM? ¿hay otro uri que debo usar?
- Cómo hacer copias de seguridad de los contactos o sms en la tarjeta SD como archivo .xml o .csv y restaurarlos más tarde
- La agregación automática de contactos no funciona al insertar un nuevo contacto
- Cómo obtener la fecha de la última modificación para la lista de contactos (Añadir / Borrar / Modificar)
- Recuperar la foto y el nombre de los contactos de android
- Stick Android ListView "categorías" para arriba
- Cómo cargar todos los contactos con un tiempo mínimo en Android
- Realiza alguna acción con el campo personalizado de Contacto
- Contactos de Android RAW_CONTACT_ID vs CONTACT_ID
- ¿Cómo puedo agregar mi conexión de aplicaciones en Agenda / Contactos como Whatsapp y Viber?
- Android contacto picking - sólo contactos con números?
- Cómo asignar una imagen (mapa de bits) mediante programación a un contacto?
- Cómo ocultar mi Administrador de Acount personalizado desde la interfaz de usuario de configuración
- ¿Cómo obtener los contactos de un grupo de WhatsApp en Android?
Su código funciona perfectamente con el Uri
:
Uri uri16 =ContactsContract.Contacts.CONTENT_URI;
Asegúrate de haber agregado los permisos de android en el manifiesto de Android, como por ejemplo: android.permission.READ_CONTACTS
(utiliza permiso).
- ¿Soporta Android WebKit postMessage () para la comunicación inter-marco?
- Cómo obtener el nombre de archivo y la extensión al abrir el archivo adjunto de correo electrónico