Android 如何将联系人信息保存到电话簿中?
嘿,伙计们,我想保存个人信息,比如名字、姓氏、电话号码 地址用户网站用户组织进入电话簿,所以请建议Android 如何将联系人信息保存到电话簿中?,android,Android,嘿,伙计们,我想保存个人信息,比如名字、姓氏、电话号码 地址用户网站用户组织进入电话簿,所以请建议 这个问题的一些解决方案 您可以通过执行此代码将用户信息保存到电话簿中 package com.contacts.in; import java.util.ArrayList; import android.app.Activity; import android.content.ContentProviderOperation; import android.content.Content
这个问题的一些解决方案 您可以通过执行此代码将用户信息保存到电话簿中
package com.contacts.in;
import java.util.ArrayList;
import android.app.Activity;
import android.content.ContentProviderOperation;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.ContextWrapper;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.provider.ContactsContract.Data;
import android.widget.Toast;
public class CONTACTSAVEDActivity extends Activity {
String displayName = "XYZ";
String mobileNumber = "123456";
String homeNumber = "1111";
String workNumber = "2222";
String emailID = "email@nomail.com";
String company = "bad";
String jobTitle = "abcd";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ArrayList<ContentProviderOperation> ops =
new ArrayList<ContentProviderOperation>();
ops.add(ContentProviderOperation.newInsert(
ContactsContract.RawContacts.CONTENT_URI)
.withValue(ContactsContract.RawContacts.ACCOUNT_TYPE, null)
.withValue(ContactsContract.RawContacts.ACCOUNT_NAME, null)
.build()
);
//------------------------------------------------------ Names
if(displayName != null)
{
ops.add(ContentProviderOperation.newInsert(
ContactsContract.Data.CONTENT_URI)
.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
.withValue(ContactsContract.Data.MIMETYPE,
ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)
.withValue(
ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME,
displayName).build()
);
}
//------------------------------------------------------ Mobile Number
if(mobileNumber != 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.NUMBER, mobileNumber)
.withValue(ContactsContract.CommonDataKinds.Phone.TYPE,
ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE)
.build()
);
}
//------------------------------------------------------ Home Numbers
if(homeNumber != 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.NUMBER, homeNumber)
.withValue(ContactsContract.CommonDataKinds.Phone.TYPE,
ContactsContract.CommonDataKinds.Phone.TYPE_HOME)
.build());
}
//------------------------------------------------------ Work Numbers
if(workNumber != 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.NUMBER, workNumber)
.withValue(ContactsContract.CommonDataKinds.Phone.TYPE,
ContactsContract.CommonDataKinds.Phone.TYPE_WORK)
.build());
}
//------------------------------------------------------ Email
if(emailID != null)
{
ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
.withValue(ContactsContract.Data.MIMETYPE,
ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE)
.withValue(ContactsContract.CommonDataKinds.Email.DATA, emailID)
.withValue(ContactsContract.CommonDataKinds.Email.TYPE, ContactsContract.CommonDataKinds.Email.TYPE_WORK)
.build());
}
//------------------------------------------------------ Organization
if(!company.equals("") && !jobTitle.equals(""))
{
ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
.withValue(ContactsContract.Data.MIMETYPE,
ContactsContract.CommonDataKinds.Organization.CONTENT_ITEM_TYPE)
.withValue(ContactsContract.CommonDataKinds.Organization.COMPANY, company)
.withValue(ContactsContract.CommonDataKinds.Organization.TYPE, ContactsContract.CommonDataKinds.Organization.TYPE_WORK)
.withValue(ContactsContract.CommonDataKinds.Organization.TITLE, jobTitle)
.withValue(ContactsContract.CommonDataKinds.Organization.TYPE, ContactsContract.CommonDataKinds.Organization.TYPE_WORK)
.build());
}
// Asking the Contact provider to create a new contact
try
{
getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
}
catch (Exception e)
{
e.printStackTrace();
// Toast.makeText(myContext, "Exception: " + e.getMessage(), Toast.LENGTH_SHORT).show();
}
}
}
package com.contacts.in;
导入java.util.ArrayList;
导入android.app.Activity;
导入android.content.ContentProviderOperation;
导入android.content.ContentResolver;
导入android.content.ContentValues;
导入android.content.ContextWrapper;
导入android.database.Cursor;
导入android.net.Uri;
导入android.os.Bundle;
导入android.provider.contacts合同;
导入android.provider.contacts contract.CommonDataTypes.Phone;
导入android.provider.contacts contract.Data;
导入android.widget.Toast;
公共类CONTACTSAVEDActivity扩展活动{
字符串displayName=“XYZ”;
字符串mobileNumber=“123456”;
字符串homeNumber=“1111”;
字符串workNumber=“2222”;
字符串emailID=”email@nomail.com";
字符串company=“bad”;
字符串jobTitle=“abcd”;
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
阵列列表操作=
新的ArrayList();
ops.add(ContentProviderOperation.newInsert(
Contacts contract.raw contacts.CONTENT\u URI)
.withValue(contacts contract.raw contacts.ACCOUNT_TYPE,null)
.withValue(contacts contract.raw contacts.ACCOUNT\u NAME,null)
.build()
);
//------------------------------------------------------名字
if(displayName!=null)
{
ops.add(ContentProviderOperation.newInsert(
contacts contract.Data.CONTENT\u URI)
.带ValueBackReference(contacts contract.Data.RAW\u CONTACT\u ID,0)
.带值(contacts contract.Data.MIMETYPE,
ContactsContract.CommonDataTypes.StructuredName.CONTENT\u ITEM\u TYPE)
.有价值(
Contacts contract.CommonDataTypes.StructuredName.DISPLAY\u NAME,
displayName).build()
);
}
//------------------------------------------------------手机号码
if(mobileNumber!=null)
{
添加(ContentProviderOperation)。
newInsert(ContactsContract.Data.CONTENT\u URI)
.带ValueBackReference(contacts contract.Data.RAW\u CONTACT\u ID,0)
.带值(contacts contract.Data.MIMETYPE,
Contacts contract.CommonDataTypes.Phone.CONTENT\u ITEM\u TYPE)
.withValue(contacts contract.commonDataTypes.Phone.NUMBER,mobileNumber)
.带值(contacts contract.commondatatypes.Phone.TYPE、,
Contacts contract.CommonDataTypes.Phone.TYPE\手机)
.build()
);
}
//------------------------------------------------------家庭号码
如果(homeNumber!=null)
{
添加(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT\uURI)
.带ValueBackReference(contacts contract.Data.RAW\u CONTACT\u ID,0)
.带值(contacts contract.Data.MIMETYPE,
Contacts contract.CommonDataTypes.Phone.CONTENT\u ITEM\u TYPE)
.withValue(contacts contract.CommonDataTypes.Phone.NUMBER、homeNumber)
.带值(contacts contract.commondatatypes.Phone.TYPE、,
Contacts contract.CommonDataTypes.Phone.TYPE\u HOME)
.build());
}
//------------------------------------------------------工作编号
if(工作编号!=null)
{
添加(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT\uURI)
.带ValueBackReference(contacts contract.Data.RAW\u CONTACT\u ID,0)
.带值(contacts contract.Data.MIMETYPE,
Contacts contract.CommonDataTypes.Phone.CONTENT\u ITEM\u TYPE)
.withValue(contacts contract.commondatatypes.Phone.NUMBER、workNumber)
.带值(contacts contract.commondatatypes.Phone.TYPE、,
Contacts contract.CommonDataTypes.Phone.TYPE\u WORK)
.build());
}
//------------------------------------------------------电子邮件
如果(emailID!=null)
{
添加(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT\uURI)
.带ValueBackReference(contacts contract.Data.RAW\u CONTACT\u ID,0)
.带值(contacts contract.Data.MIMETYPE,
ContactsContract.CommonDataTypes.Email.CONTENT\u ITEM\u TYPE)
.withValue(ContactsContract.CommonDataTypes.Email.DATA,emailID)
.withValue(contacts contract.commondatatypes.Email.TYPE,contacts contract.commondatatypes.Email.TYPE\u WORK)
.build());
}
//------------------------------------------------------组织机构
<uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>
<uses-permission android:name="android.permission.WRITE_CONTACTS"></uses-permission>