我需要创建一个项目,以从电话默认联系人列表中选择联系人中的Name,Phone Number and Email Address
。
步骤:
当我点击我的应用程序中的按钮,它会打开或转到默认的手机联系人。之后,我选择一个手机联系人,它会回到我的应用程序,并有3个文本视图来放置姓名,电子邮件和电话号码。我如何实现这一目标?
Thanx提前从电话联系人中获取姓名,电话号码和电子邮件地址
-5
A
回答
2
我做这种方式为Android 2.2 Froyo
版本:基本使用eclipse
创建class
,如:public class SomePickContactName extends Activity
然后插入该代码。请记住添加在我的代码版本中引用的私有类变量和CONSTANTS:
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
Intent intentContact = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intentContact, PICK_CONTACT);
}//onCreate
public void onActivityResult(int requestCode, int resultCode, Intent intent)
{
if (requestCode == PICK_CONTACT)
{
getContactInfo(intent);
// Your class variables now have the data, so do something with it.
}
}//onActivityResult
protected void getContactInfo(Intent intent)
{
Cursor cursor = managedQuery(intent.getData(), null, null, null, null);
while (cursor.moveToNext())
{
String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
name = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));
String hasPhone = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));
if (hasPhone.equalsIgnoreCase("1"))
hasPhone = "true";
else
hasPhone = "false" ;
if (Boolean.parseBoolean(hasPhone))
{
Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = "+ contactId,null, null);
while (phones.moveToNext())
{
phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
}
phones.close();
}
// Find Email Addresses
Cursor emails = getContentResolver().query(ContactsContract.CommonDataKinds.Email.CONTENT_URI,null,ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = " + contactId,null, null);
while (emails.moveToNext())
{
emailAddress = emails.getString(emails.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
}
emails.close();
Cursor address = getContentResolver().query(
ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.StructuredPostal.CONTACT_ID + " = " + contactId,
null, null);
while (address.moveToNext())
{
// These are all private class variables, don't forget to create them.
poBox = address.getString(address.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.POBOX));
street = address.getString(address.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.STREET));
city = address.getString(address.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.CITY));
state = address.getString(address.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.REGION));
postalCode = address.getString(address.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.POSTCODE));
country = address.getString(address.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY));
type = address.getString(address.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.TYPE));
} //address.moveToNext()
} //while (cursor.moveToNext())
cursor.close();
}//getContactInfo
+0
它的工作感谢您的帮助 –
+0
wl来兄弟.... –
相关问题
- 1. 如何从联系人列表中获取联系人姓名,电话号码和电子邮件ID?
- 2. 无法获取本地电话联系人姓名,手机号码和电子邮件地址
- 3. 查询以获取电子邮件地址,联系人姓名和电话号码的一行代码
- 4. Android:从联系人中检索姓名,电话号码,电子邮件,生日
- 5. 联系人姓名电话号码
- 6. iPhone SDK:从电话号码获取联系人姓名
- 7. 从电话簿获取联系人姓名使用号码 - Android
- 8. 获取联系人的ID,姓名和电话号码?
- 9. 从联系人获取地址和电话号码?
- 10. 需要从联系人选择器中获取姓名,电话号码和电子邮件
- 11. 通过电话号码获取正确的联系人姓名
- 12. 如何仅通过电话号码获取联系人姓名?
- 13. Android:使用电话号码获取联系人姓名
- 14. 检索联系人姓名和电话
- 15. 无法获取正确的电子邮件,而联系人姓名和电话号码正确
- 16. Android联系人 - 获取电话号码
- 17. 如何从地址中提取姓名和电话号码
- 18. 电话簿中的联系人姓名与Firebase中的电话号码
- 19. 挑选号码,电子邮件ID和联系人姓名android
- 20. 在multiautocomplete textview中显示联系人姓名和电话号码
- 21. 为电子邮件地址和电话号码生成QR码
- 22. Xcode从地址簿获取联系人电子邮件地址
- 23. 如何通过电子邮件或电话号码获取联系人
- 24. 获取联系人电话的电子邮件android
- 25. 如何获取所有联系人的名字,姓氏,电子邮件,电话号码等,不需要重复
- 26. 使用YQL获取Yahoo联系人姓名和电子邮件地址
- 27. 选择多个联系人姓名和电话号码
- 28. 如何查询_id,姓名和电话号码的联系人?
- 29. 筛选联系人姓名并删除电子邮件地址
- 30. 我无法从电话的联系人中加载电子邮件地址
尝试一些内容并显示您的代码。不要指望别人只是为你做你的工作 – geedubb