2012-05-29 8 views
6

Bir düğmeyi tıklayarak mevcut kişime telefon numarası, e-posta, web sitesi, adres vb. Eklemek zorunda olduğum bir uygulama geliştiriyorum.Telefon numarası, e-posta, web sitesi vb. Varolan kişiye nasıl eklenir

düğmeyi tıklamak işlev benim kişiyi güncelleyemedik buradayım

private void updateContact(String name) 
    { 
Log.d(TAG, "in updatecontact()"); 
Log.d(TAG,"Contact name to be updated = "+name); 
ContentResolver cr = getContentResolver(); 
    String where = ContactsContract.Data.DISPLAY_NAME + " = ? AND " + 
      ContactsContract.Data.MIMETYPE + " = ? AND " + 
      String.valueOf(ContactsContract.CommonDataKinds.Phone.TYPE) + " = ? "; 
String[] params = new String[] {name, 
     ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE, 
     String.valueOf(ContactsContract.CommonDataKinds.Phone.TYPE_HOME)}; 

Cursor phoneCur = managedQuery(ContactsContract.Data.CONTENT_URI, null, where, params, null); 

ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>(); 

if ((phoneCur == null) ) { 
    add_new_contact(); 
} else { 
    // Phone no 
    ops.add(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI) 
      .withSelection(where, params) 
      .withValue(ContactsContract.CommonDataKinds.Phone.DATA, Tel) 
      .build()); 
    // Email 
    ops.add(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI) 
      .withSelection(where, params) 
      .withValue(ContactsContract.CommonDataKinds.Email.DATA, Email) 
      .build()); 
    // Website 
    ops.add(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI) 
      .withSelection(where, params) 
      .withValue(ContactsContract.CommonDataKinds.Website.DATA, Url) 
      .build()); 
    //Organization 
    ops.add(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI) 
      .withSelection(where, params) 
      .withValue(ContactsContract.CommonDataKinds.Organization.DATA, Org) 
      .build()); 
} 

phoneCur.close(); 

try { 
    cr.applyBatch(ContactsContract.AUTHORITY, ops); 
} catch (RemoteException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} catch (OperationApplicationException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
}}} 

gider.

+3

yardımcı olabilir. Umarım senin için iyi gidiyordur. BTW, neden bunu yayınladın? Tam olarak bir soru değil, değil mi? –

+0

Ve, sorunuz nedir? – Lucifer

cevap

1

Bunu nasıl yapacağınızı bilmediğinizi varsayar ve bu sizin sorunuzdur.

bu Size bir uygulama geliştirirken bu bilmek güzel

ContentResolver cResolver = context.getContentResolver(); 
public void AddToContact() 
{ 
    insertContentValues(cResolver, Contacts.Phones.CONTENT_URI, getPhoneCV(phone)); 
} 

public ContentValues getPhoneCV(RowData data) { 
     ContentValues cv = new ContentValues(); 

     String PhoneNumber = "055434553"; 
     cv.put(Contacts.Phones.NUMBER,PhoneNumber); 
     return cv; 
    } 

private Uri insertContentValues(ContentResolver cResolver, Uri uri, ContentValues cv) { 
     if (cv != null) { 
      return cResolver.insert(uri, cv); 
     } 
     return null; 
    } 
+0

Açık, bu cevabı hangi temelde yazdınız ??? – Lucifer

+0

Bunu anlamıyorum? Cevapla ilgili problem nedir? – AnasBakez

+0

Bana sorunun ne olduğunu söyleyebilir misin? – Lucifer

İlgili konular