Android :: How Can I Query Contact Based On A Phone Number?
Jul 8, 2010How can I query Android contact (in android 2.1) based on a phone number? I used to use People.CONTENT_URI (before android 2.1) but that is now deprecated.
View 1 RepliesHow can I query Android contact (in android 2.1) based on a phone number? I used to use People.CONTENT_URI (before android 2.1) but that is now deprecated.
View 1 RepliesHow can I query all the MMS/SMS messages from the same phone number?
View 2 Replies View RelatedI have the following code which queries 1 number of a contact. It works. But how can I change it so that I can query multiple numbers (work, mobile, home) for the same contact and the type of each number?int phoneColumnIndex = cursor.getColumnIndex(People.NUMBER); if (phoneColumnIndex != -1) {String phone Number = cursor.getString (phone ColumnIndex); System.out.println (" phoneNumber:" + phoneNumber);
View 2 Replies View RelatedI have following code in pre-Android2.0 API:
CODE:..................
What kind of selection should I do to retrieve contacts that have both name and phone number?
Can you please tell me how can i query the number of unread SMS in android programmically?
How can I implement the SMS unread count like this link: http://android.kanokgems.com/sms-unread-count/
I'm using a Motorola Backflip running Android 2.1. Every contact in my phone has a History tab which shows recent history such as recent texts, calls, and facebook messages for that person (facebook is linked through motoblur). My questions are:
1) Is the history tab on every Android Device or is it only from Motoblur?
2) If it is an Android entity, is it possible to query this information using the new ContactsContract and SQLite calls, if so, how?
If it's only a motoblur entity, how does motoblur query that information to provide? (ie. how would you pull all contact history from calls, texts, and facebook because a linear search would be far inefficient.
Thanks in advance.
I am looking for an app to do the following things. Change ringer setting when getting a call from a certain number. i.e. Turn the ringer on when I call it from my google voice number in case I loose it.Also, to run a script when connecting to a specific wifi network.I believe Locale can do at least the first one, but I was wondering if there were any cheaper apps to do this as I have no interest in the gps features of locale.
View 1 Replies View RelatedCan someone tell me if there is way to write an SQL query to get list of contact names from phonebook which matches its english name given that the phone language is set to Spanish.If I write a query to get a contacts whose last name ends with "Dad", but for some contacts the last name "Dad" will be stored as "papá" in Spanish.So the query where I write to match for lastname="dad" will not work as they are different characters. Is there a way in SQL which takes care of language translation as well while quering?
View 2 Replies View RelatedI have this query which does work fine in MySQL
CODE:............
Distance is in Kilometers, the input is lat=12.345 and lon=67.89
The SQLite is 3, and I can't run custom functions with it as it's on Android. I also don't have acos() etc... as that is not part of the standard SQLite.
How would be the above query in SQLite?
Can you please tell me how can i query the number of unread SMS in android programmically? i.e. How can I implement the SMS unread count like this link: http://android.kanokgems.com/sms-unread-count/.
View 2 Replies View RelatedThe semi-standard way of getting a contact name from a phone number is to use Contacts.Phones.CONTENT_FILTER_URL and append the phone number, as in the following sample code. This works fine on Android 1.6, but not on 2.0 -- is there a way to perform this function that works in all versions of the Android API? private String getContactNameFromNumber(String number) {// define the columns I want the query to return String[] projection = new String[] { Contacts.Phones.DISPLAY_NAME, // encode the phone number and build the filter URI Uri contact Uri = Uri.withAppendedPath (Contacts.Phones.CONTENT_FILTER_URL, Uri.encode(number)); // query timeCursor c = getContentResolver().query(contact Uri, projection, null,null, null);// if the query returns 1 or more results}
View 2 Replies View RelatedI am getting contact details for a given phone number using the following code:
Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNum));
Cursor cursor = context.getContentResolver().query(uri,null,null,null,null);
There is a case though when the cursor contains 3 records with the same phone number and display name. Can you please suggest an explanation or possible reason for that?
I am trying to get the sender's name from the contacts database using a content provider. The problem is I don't know how to implement it. Like now I can only pull the phone number from the smsMessage. I need to check to see if the phone number that is calling is in the users contacts first and if it is display the name if it is not then display the number.
View 1 Replies View RelatedI have an Android 2.1 device (HTC Incredible). My app, however, must be compatible with early (pre SDK 5) devices, so I am using the deprecated format of filter URI:
Uri contactUri = Uri.withAppendedPath(Contacts.Phones.CONTENT_FILTER_URL, Uri.encode(number));
Cursor C = context.getContentResolver().query(contactUri , null, null, null, null));
The number is of the form 15555551212. This fails to find the Contact, at least on my device. However, changing to the new (SDK 5 and later) ContactsContract format URI
Uri contactUri = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI, Uri.encode(number));
Cursor C = context.getContentResolver().query(contactUri , null, null, null, null));
results in success. Originally, the corresponding number in the Contact was in the format +1 555 555 5555, but I changed it to exactly match the input number 15555555555 and the old format URI still fails. In both cases, the new format URI succeeds. Does anyone have any thoughts as to why this is the case?
What I'm trying to do, is to get the corresponding contact to a phone number. It works perfect if the number is stored in the contacts in the following format: +<country code><area code><number> But not all numbers are stored this way. Most are without the country code or with "00" instead of "+". Do I have to parse the number by myself and set up a corresponding WHERE clause for the query, or is there anything I can't find in the internet to get this one done by the framework?
View 4 Replies View RelatedIn my app, user writes a phone number, and I want to find the contact name with that phone number? I usually search the contacts like this:Cursor cur = getContentResolver().query (ContactsContract.Contacts.CONTENT_URI, null, null, null, null); But I do this to access all contacts. In this app I only want to get the contact name of the given phone number. How can I restrict the query? Or do I have to go trough all contacts and see if any has the given phone number? But I believe that this can be very slow this way.
View 1 Replies View RelatedFor android 2.0, how to get a list of all contact's phone number and email? I have an app which works fine for 1.6. Now it is broken for 2.0 Droid. If you could point me an example to get all contact info, I really appreciate it. Previously, I used People.Contect_URI. now it is deprecated and return me nothing. I went through samples but failed to find how to do it in 2.0.
View 18 Replies View RelatedIn Android I can get phone numbers of all the contacts without any problem. Tha problem is that for most users some numbers are stored as 'local' numbers, meaning that they dont have the country code included. For example, if the user lives in US and he has 2 contacts:
1) John - 555-123-1234 (local) (starting 1 not showing)
2) Jane - 44-123456787 (england phone number)
The question is: How do I get all the numbers in an international format, when some of the numbers doesnt include the country code?
I would like to retrieve the name of a contact associated with an incoming telephone number. As I process the incoming number in the broascastreceiver having a String with the name of the incoming caller would help my project greatly. I would think this involves a query using the sql WHERE clause as a filter, but do I need to sort the contacts? An example or hint would be of great assistance.
View 1 Replies View RelatedI am trying to get the contact's phone number after I have retrieved their ID number from the built-in activity. However, whenever I query the database using the cursor in my code below -- I get zero rows returned even though there is a mobile number for the contact I have selected. Can anyone point me in a better direction or show an example of how to get the contact's phone number AFTER getting their userID?
My code:
private Runnable getSMSRunnable() {
return new Runnable() {
public void run() {
Intent i = new Intent(Intent.ACTION_PICK,
ContactsContract.CommonDataKinds.Phone.CONTENT_URI);
startActivityForResult(i, CONTACTS_REQUEST_CODE);......................
In my app, I get the name of the person calling from the contacts database and read it out. A user contacted me about a number in the format 123-456-7890 which doesn't work. I've tested this myself and can't see why it wouldn't work. The full code I'm using is available here, but the relevant part is below: Code...
View 2 Replies View RelatedI am learning android. I am trying to upadate contact number pro grammatically. Could anyone help me please how can I do that.My effort is: String lNumber = pCur.getString( pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); Content Values values = new Content Values(); Uri lPhoneUri = Uri.withAppendedPath(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, ContactsContract.CommonDataKinds.Phone.NUMBER);values.put(ContactsContract.CommonDataKinds.Phone.NUMBER, "45323333"));
getContentResover().update(lPhoneUri, values, ContactsContract.CommonDataKinds.Phone.NUMBER+"=?", new String[] { lNumber });
I'm trying to add a phone number to an existing contact on android 2.1. Im currently using:
ContentValues values = new ContentValues();
values.put(Phone.RAW_CONTACT_ID,cursor.getColumnIndex(Phone.CONTACT_ID));
String selection = ContactsContract.Contacts.IN_VISIBLE_GROUP + " = '1'";
ContentResolver cr = getContentResolver();
Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI,null, selection, null,ContactsContract.Contacts.DISPLAY_NAME+" COLLATE LOCALIZED ASC");
if (cursor.getCount() > 0) {cursor.moveToPosition(oldcontactid);
contactid = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
values.put(Phone.RAW_CONTACT_ID,cursor.getColumnIndex(Phone.CONTACT_ID));
if (Integer.parseInt(cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
Cursor pCur = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?",new String[]{contactid}, null);while (pCur.moveToNext()) {values.put(Phone.NUMBER,pCur.getString(pCur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)));
values.put(Phone.TYPE, Phone.TYPE_MOBILE);}pCur.close();}}
Uri uri = getContentResolver().insert(Phone.CONTENT_URI, values);
but i get an error:
java.lang.UnsupportedOperationException: Unknown uri: content://com.android.contacts/data/phones
how would i be able to fix this?
I am trying to write a simple function that determines if a contact has a phone number or not. And am not having any luck what so ever. I have tried several ways of achieving this all found on line. At present I have the following:
public boolean has Phone() {Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + this.getId(),null); boolean has = false;if(phones.get Count() > 0) {has = true;}if(!phones.isClosed()){phones.close();}return has;}
I'm using a Android Wildfire and I used the following code to lookup the contact name of an existing phone number.
private String getContactNameFromNumber(String number) { String[] projection = new String[] { Contacts.Phones.DISPLAY_NAME, Contacts.Phones.NUMBER };
Uri contactUri = Uri.withAppendedPath(Contacts.Phones.CONTENT_FILTER_URL, Uri.encode(number));
Log.d(TAG, contactUri.toString());
// query time
Cursor c = context.getContentResolver().query(contactUri, projection, null, null, null);
// if the query returns 1 or more results
// return the first result
if (c.moveToFirst()) {
String name = c.getString(c.getColumnIndex(Contacts.Phones.DISPLAY_NAME));
Log.d(TAG, name);
return name;
}
// return null if no match was found return null;
}
I am unable to resolve the contact name. The logcat output shows the following
11-14 13:45:35.879: DEBUG/Test(3342): content://contacts/phones/filter/%2B919773653345
I am currently unable to update an existing contact record's phone number. I am able to insert a new phone number to an existing contact record but unable to delete or modify existing phone number records of a contact. Is there a way to either: - delete an existing phone number from a contact record. or - update an existing phone number of a contact record.
The sample code is as shown below:
To delete existing phone numbers of a contact record: row = getContentResolver().delete(ContentUris.withAppendedId (Phones.CONTENT_URI, uid),null,null);
Log.v(TAG,"row =" + row);
The row value is always 0 even if phone numbers are present. Thus, the deletion does not take place. To update a phone number:
Uri PersonUri = ContentUris.withAppendedId(People.CONTENT_URI, uid);
Uri PhoneUri = Uri.withAppendedPath (PersonUri,People.Phones.CONTENT_DIRECTORY);
ContentValues values = new ContentValues();
values.put(Phones.NUMBER,"1234567890");
values.put(Phones.TYPE,1);
row = getContentResolver().update(PhoneUri,values, null, null);
This throws a unsupported Operation exception.
I want to filter the ListView which containing both contact name and phone number... how do i filter the list.....please provide me the code(mainly for the filtering code)
View 1 Replies View Relatedhow I can add more than one phone number to a contact.
View 1 Replies View Relatedhow to get phone number from contact to textbox...i try this:
Intent i = new
Intent(android.content.Intent.ACTION_PICK);
i.setType(ContactsContract.CommonDataKinds.Phone.C ONTENT_TYPE);
startActivityForResult(i,request_Code);
txtPhoneNo.setText(i.toString());
but i got something like: Intent {act=android.intent} and not the phone number...how to get the phone number into the textbox ?
I am working on Android SDK 1.5, I need to read the person name, phone number & Email ID from the phone book. I searched on forums - net & got some guidelines to read the contacts & the phone number of a person. But could not find any way to retrieve the email-id from phone book. So, please help me for the same.
View 2 Replies View Related