【问题标题】:Not able to update contact name in emulator 2.1无法在模拟器 2.1 中更新联系人姓名
【发布时间】:2010-03-15 06:41:14
【问题描述】:

我正在尝试使用以下代码更新 android 2.1 模拟器中现有联系人的名称,但总是出现“java.lang.IllegalArgumentException: Emplty values”异常。

ContentValues contactValues = new ContentValues(); contactValues.put(People.NAME, "risabh"); getContentResolver().update(UpdateContactUri, contactValues, null, null);

UpdateContactUri 是 id 为 4 的现有联系人的 uri。 它适用于模拟器 1.6,但不适用于 2.1。

还有一件事我需要问我如何在 2.1 中访问 Name(first,middle,last) 和 Address(Street, city, state, zip, country) 的各个字段

【问题讨论】:

    标签: android android-emulator


    【解决方案1】:

    在 android 2.1 中,我使用这个 hack 代码来更新联系人姓名:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-14
      • 2015-10-12
      • 2018-02-15
      • 2012-10-11
      • 1970-01-01
      • 2020-08-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多