Попытка изменить контакт на Android
Я пытаюсь отправить пользователя в приложение родных контактов, чтобы они могли там редактировать контакт, он отлично работает в 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" />
Большое спасибо!