HI everyone,
i am making an application to get the name of the contact no saved on the
mobile.
i am using the following code
private class *CallStateListener *extends *PhoneStateListener *{
private String *displayContacts*(String incomingNumber) {
ContentResolver cr = ctx.getContentResolver();
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI,
null, null, null, null);
if (cur.getCount() > 0) {
while (cur.moveToNext()) {
String id =
cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
String name =
cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
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 (pCur.moveToNext()) {
String phoneNo =
pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
if(phoneNo.length()>9&&incomingNumber.length()>9)
{
//
Log.v("Test",phoneNo.substring(phoneNo.length()-10,phoneNo.length())+"
"+incomingNumber.substring(incomingNumber.length()-10,incomingNumber.length()));
if(phoneNo.substring(phoneNo.length()-10,phoneNo.length()).equals(incomingNumber.substring(incomingNumber.length()-10,incomingNumber.length())))
{
Toast.makeText(ctx, "Name: " + name + ", Phone No: " +
phoneNo, Toast.LENGTH_SHORT).show();
Log.v("Test","qualified "+phoneNo+" "+name);
pCur.close();
return ""+name;
}
}
}
pCur.close();
}
}
}
return "";
}
i am calling the *displayContacts() *method with the incoming call no as
argument
but its taking about 18 to 29 seconds to get the contact name, some times
it is taking more than 35 seconds,
can any one suggest me the best way to get the contact names saved in the
mobile,
i need to get the contact name in the following manner,
i have a contact with name as service call and no as 9848012345
and if i get a call i should get the name in not more than 5 seconds .
if there are any new mechanisms that are used to implement this mechanism
plese send me the links,
Thanks
Shiva Shankar,
--
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
---
You received this message because you are subscribed to the Google Groups
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.