【发布时间】:2011-01-20 06:40:26
【问题描述】:
我已经编写了以下代码来在 android 电话簿中添加新联系人,它正在工作,但是当我打开联系人菜单时,我看不到添加的新联系人。谁能帮我找出这里有什么问题?
import android.app.Activity;
import android.os.Bundle;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.provider.ContactsContract;
import android.widget.TextView;
import android.widget.Toast;
public class AddContacts extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
try {
ContentResolver cr = this.getContentResolver();
ContentValues cv = new ContentValues();
cv.put(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME, "New Name");
cv.put(ContactsContract.CommonDataKinds.Phone.NUMBER, "1234567890");
cv.put(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE);
cr.insert(ContactsContract.RawContacts.CONTENT_URI, cv);
Toast.makeText(this, "Contact added", Toast.LENGTH_LONG).show();
} catch(Exception e) {
TextView tv = new TextView(this);
tv.setText(e.toString());
setContentView(tv);
}
}
}
【问题讨论】:
-
这个链接可能对你有用saigeethamn.blogspot.com/2009/09/…
-
谢谢你 Parag Saigeethamn 的博客也很有帮助
-
但适用于旧版本的android
-
这是针对新版本的:saigeethamn.blogspot.in/2011/05/…
-
khawar ...你的回答对我来说非常好,它也能正常工作,但我想添加带有铃声的联系人请发布铃声的代码我有一些代码但它不起作用 if(ringtonepath != null) { ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI) .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0) .withValue(ContactsContract.Data.MIMETYPE,ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE) .withValue(ContactsContract.CommonDataKinds. Phone.CUSTOM_RINGTONE, ringtonepath) .build() ); }
标签: android