2012-05-29 6 views
6

Ich entwickle eine Anwendung, wo ich Telefon, E-Mail, Website, Adresse usw. zu meinem bestehenden Kontakt auf einen Klick hinzufügen.So fügen Sie Telefon, E-Mail, Website usw. zu einem bestehenden Kontakt hinzu

die Funktion auf der Klick auf den Button geht hier

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

ich nicht imstande bin, mein Kontakt zu aktualisieren.

+3

Es ist schön zu wissen, helfen, dass Sie eine Anwendung entwickeln. Ich hoffe es geht gut für dich. BTW, warum hast du das gepostet? Es ist nicht genau eine Frage, oder? –

+0

Und was ist deine Frage? – Lucifer

Antwort

1

Ich gehe davon aus, dass Sie nicht wissen, wie das geht, und das ist Ihre Frage.

kann diese

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

Auf welcher Basis hast du diese Antwort ??? – Lucifer

+0

ich verstehe es nicht? Was ist das Problem mit der Antwort? – AnasBakez

+0

können Sie mir sagen, was ist die Frage dort drüben? – Lucifer

Verwandte Themen