Heh, this is also a good point, I was dumb not to point the OP in that
direction sooner :-)


On Wed, Jul 31, 2013 at 2:59 AM, Piren <[email protected]> wrote:
> what the hell? why are you scanning the entire DB and in such a bad fashion?
> You do know that the reason there's a ContentResolver is for you to run
> queries right?
>
> http://developer.android.com/reference/android/provider/ContactsContract.PhoneLookup.html
>
> You'll get the result instantly.
>
>
> On Tuesday, July 30, 2013 9:27:49 PM UTC+3, 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.
>
>

-- 
-- 
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