如何在android 2.1中删除联系人
我已经通过以下代码向android添加了一个联系人如何在android 2.1中删除联系人,android,android-emulator,Android,Android Emulator,我已经通过以下代码向android添加了一个联系人 ContentValues values = new ContentValues(); Uri rawContactUri = getContentResolver().insert(RawContacts.CONTENT_URI, values); long rawContactId = ContentUris.parseId(rawContactUri); values.clear(); values.put(Data.RAW_
ContentValues values = new ContentValues();
Uri rawContactUri = getContentResolver().insert(RawContacts.CONTENT_URI, values);
long rawContactId = ContentUris.parseId(rawContactUri);
values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE);
values.put(StructuredName.DISPLAY_NAME, "Mike Sullivan");
getContentResolver().insert(Data.CONTENT_URI, values);
它显示在emulator 2.1上,但当我打算通过“删除联系人”选项手动删除它时,它不会从emulator中删除
如果我在上面编辑了一些东西,那么只有它会删除
如何直接从菜单中删除它
提前感谢…请使用以下代码添加联系人。这不会影响emulator在不编辑联系人的情况下从菜单中删除联系人
import android.provider.Contacts.People;
public void addvaluestocontent()
{
ContentValues values = new ContentValues();
values.put(People.NAME, "Abraham Lincoln");
values.put(People._ID, "1");
values.put(People.NUMBER, "23333");
Uri uri = getContentResolver().insert(People.CONTENT_URI, values);
}
您必须再保存一个字段,可以是“姓名”或“姓氏”。您可以通过保存联系人手动进行测试。首先尝试只保存手动号码,然后保存姓名和号码的联系人。简单地说,删除.db文件所有联系人都已删除。android将自动创建新文件 .db的路径是:
data/data/com.android.providers.contacts/database/contacts.db使用此方法检查SDK版本并获取联系人内容Uri。之后,您可以插入具有此新内容Uri的联系人
static
{
int sdk=new Integer(Build.VERSION.SDK).intValue();
if (sdk>=5) {
try {
Class<?> clazz=Class.forName("android.provider.ContactsContract$Contacts");
CONTENT_URI=(Uri)clazz.getField("CONTENT_URI").get(clazz);
}
catch (Throwable t) {
Log.e("PickDemo", "Exception when determining CONTENT_URI", t);
}
}
else {
CONTENT_URI=Contacts.People.CONTENT_URI;
}
}
静态
{
intSDK=新整数(Build.VERSION.sdk).intValue();
如果(sdk>=5){
试一试{
Class clazz=Class.forName(“android.provider.Contacts合同$Contacts”);
CONTENT_URI=(URI)clazz.getField(“CONTENT_URI”).get(clazz);
}
捕获(可丢弃的t){
Log.e(“PickDemo”,“确定内容时异常”,t);
}
}
否则{
CONTENT\u URI=Contacts.People.CONTENT\u URI;
}
}
有关联系人内容Uri,请参阅。这可能会对您有所帮助。是的,我已经在emulator 1.6上尝试过了,但People.CONTENT\u URI在android 2.1中被删除了,这就是我使用该代码的原因。在android 2.1中使用People.CONTENT\u URI更新联系人时,我也遇到了异常。People.CONTENT_URI.看一下: