2010-03-15 141 views
0

我特林更新現有的Android 2.1模擬器用下面的代碼接觸,但總是得到的名稱,更新聯繫人姓名「java.lang.IllegalArgumentException異常:Emplty值」異常。不能在模擬器2.1

ContentValues contactValues =新ContentValues(); contactValues.put(People.NAME 「RISHABH」); 。 getContentResolver()更新(UpdateContactUri,contactValues,NULL,NULL);

UpdateContactUri是ID爲4的現有聯繫人的URI。 它在模擬器1.6上工作,但不在2.1上。

還有一件事我要問我如何可以訪問名(前,中,末)及地址(街道,城市,州,郵編,國家)的indivisual領域在2.1

回答

0

在Android 2.1的,我使用這個黑客的代碼來更新聯繫人姓名:

public static void modifyPeopleName(ContentResolver cr, String id, 
     String sName) { 
    if (sName == null) 
     return; 

    ContentValues values = new ContentValues(); 
    int android_sdk_version = Integer.parseInt(Build.VERSION.SDK); 
    if (android_sdk_version < 7) { 
     values.put(People.NAME, sName); 
     cr.update(People.CONTENT_URI, values, People._ID+"="+id, null); 
    } else { 
     values.put("data1", sName); 
     cr.update(Uri.parse("content://com.android.contacts/data/"), 
       values, "raw_contact_id=" + id, null); 
    } 
    return; 
}