2012-05-29 14 views
6

私は、ボタンをクリックするだけで電話番号、電子メール、ウェブサイト、アドレスなどを既存の連絡先に追加する必要があるアプリケーションを開発しています。ボタンのクリックで既存の連絡先に電話番号、電子メール、ウェブサイトなどを追加する方法

機能がここ

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

を行く私は私の連絡先を更新することができません。

+3

を助けるかもしれません。それがあなたのためにうまくいくことを望みます。ところで、なぜあなたはこれを投稿しましたか?それはまさに質問ではありませんか? –

+0

そして、あなたの質問は何ですか? – Lucifer

答えて

1

私はあなたがそれを行う方法を知らないと仮定しており、それはあなたの質問です。

これは、それはあなたがアプリケーションを開発していることを知ってうれしいです

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

あなたはこの回答を投稿していますか? – Lucifer

+0

私はそれを手に入れませんか?答えの問題は何ですか? – AnasBakez

+0

そこの質問は何ですか? – Lucifer

関連する問題