我正在尝试将用户发送到本机联系人应用程序,以便他们可以在那里编辑联系人,它在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" />
非常感谢!