Come mai devi usare questo: <data android:mimeType="vnd.android.cursor.dir/data"></data> ?
Nel listato che hai postato non hai messo nulla di deprecato.
Io nel programma che avevo fatto non scrivevo nel content provider dei contatti, ma li leggevo e basta (Ho scritto sul content degli SMS).
Come URI usavo quello dato da Contacts.CONTENT_URI
o da Data.CONTENT_URIcodice:final Cursor c = getContentResolver().query(Contacts.CONTENT_URI, null, null, null, ContactsContract.Contacts.DISPLAY_NAME); startManagingCursor(c);
Prova a studiarti come ho usato i vari metodi ed applicarli al tuo caso.codice:String[] proiezione = new String[] { ContactsContract.CommonDataKinds.Phone.NUMBER, ContactsContract.CommonDataKinds.Phone.TYPE }; String where = ContactsContract.Data.CONTACT_ID + " = " + position + " AND " + ContactsContract.Data.MIMETYPE + " = \"" + ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE + "\""; final Cursor cur = getContentResolver().query(Data.CONTENT_URI, proiezione, where, null, null); startManagingCursor(cur); ArrayList<String> tipo = new ArrayList<String>(); ArrayList<String> numTel = new ArrayList<String>(); ArrayList<Integer> indTipo = new ArrayList<Integer>(); if (cur.moveToFirst()) { do { tipoNumTemp = cur .getString(cur .getColumnIndexOrThrow(ContactsContract.CommonDataKinds.Phone.TYPE)); numTemp = cur .getString(cur .getColumnIndexOrThrow(ContactsContract.CommonDataKinds.Phone.NUMBER)); if (numTemp != null && !numTemp.contentEquals("")) { numTel.add(numTemp); indTipo.add(Integer.parseInt(tipoNumTemp)); tipoNumTemp = risorse.getStringArray(R.array.tipo_numero)[Integer .parseInt(tipoNumTemp) - 1]; tipo.add(tipoNumTemp); } } while (cur.moveToNext()); }
E auguri!!![]()

LinkBack URL
About LinkBacks
Rispondi quotando
