0
我正在编写搜索联系人和拨打电话的代码。我的代码可以列出联系人姓名并选择特定的联系人。但是,当我拨打该选定的联系人时,它会说出所选的姓名,但会拨打联系人列表中的名字。任何人都可以通过从联系人列表中选择姓名来帮助我编写用于拨打特定号码的代码。 在此先感谢。为什么总是拨打第一个号码..!
这里是我用来搜索特定联系号码的代码。但选择第一个数字。
private void populateContacts()
{
ContentResolver cr = getContentResolver();
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
if (cur.getCount() > 0) {
while (cur.moveToNext())
{
// ID AND NAME FROM CONTACTS CONTRACTS
id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
// GET PHONE NUMBERS WITH QUERY STRING
if (Integer.parseInt(cur .getString(cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
Cursor pCur = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID
+ " = ?", new String[] { id }, null);
// WHILE WE HAVE CURSOR GET THE PHONE NUMERS
while (pCur.moveToNext())
{
name = cur .getString(cur .getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
Log.i("jni", "ID :" + id);
Log.i("jni", "NAME :" + name);
// Do something with phones
//int phoneColumn = pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DATA);
// number =pCur.getString(phoneColumn);
phone = pCur.getString(pCur .getColumnIndex(ContactsContract.CommonDataKinds.Phone.DATA));
Contacts.add(name+ phone );
}
}
// pCur.close();
}
您需要向我们提供一些代码。 – 2011-05-23 11:18:40
亚理查德施耐德告诉我们,这还不足以分析问题 – Karthik 2011-05-24 03:33:58