尝试在Android上编辑联系人

时间:2013-01-31 20:53:37

标签: android android-contacts contactscontract

我正在尝试将用户发送到本机联系人应用程序,以便他们可以在那里编辑联系人,它在V3.0 +中工作正常但是在2.3.3的设备中它给了我一个例外,可以有人解释一下可能会发生什么?

代码如下:

if(contactLookupKey != null) {
        Intent intent = new Intent(Intent.ACTION_EDIT);
        Uri lookupUri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_VCARD_URI, contactLookupKey);
        Uri res = ContactsContract.Contacts.lookupContact(getContentResolver(), lookupUri);
        intent.setData(res);

        this.isEditing = true;
        startActivity(intent);
}

我得到以下例外:

01-31 15:51:50.544: E/AndroidRuntime(27867): java.lang.IllegalArgumentException: Invalid column _id
01-31 15:51:50.544: E/AndroidRuntime(27867):    at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:144)
01-31 15:51:50.544: E/AndroidRuntime(27867):    at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:114)
01-31 15:51:50.544: E/AndroidRuntime(27867):    at android.content.ContentProviderProxy.bulkQueryInternal(ContentProviderNative.java:330)
01-31 15:51:50.544: E/AndroidRuntime(27867):    at android.content.ContentProviderProxy.query(ContentProviderNative.java:366)
01-31 15:51:50.544: E/AndroidRuntime(27867):    at android.content.ContentResolver.query(ContentResolver.java:268)

在清单中我有:

<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />


<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.contactive"
    android:installLocation="auto"
    android:versionCode="17"
    android:versionName="0.8.5" >

<uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="16" />

非常感谢!

0 个答案:

没有答案