Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android 2.1中删除联系人_Android_Android Emulator - Fatal编程技术网

如何在android 2.1中删除联系人

如何在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_

我已经通过以下代码向android添加了一个联系人

 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.看一下: