Hello Every one,

Thanks for your reply,
i thank all for helping me,

Thanks.
Shiva

On Tuesday, July 30, 2013 11:57:49 PM UTC+5:30, shiva pendem wrote:
>
> 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.


Reply via email to