Python - Получить контакт с номера телефона
Используя SL4A и Python, есть ли простой способ получить идентификатор контакта по номеру телефона?
Номер телефона указан в поле "адрес" SMS.
Я пытаюсь избежать поиска по всем контактам.
я использую m = droid.smsGetMessageById(id, None).result
получить смс сообщение. Результат выглядит так:
{u'read': u'1', u'body': u"Hello! Your mobile bill's now ready to view at virginmobile.co.uk/youraccount. We'll collect your Direct Debit of 12.12 on or just after 19th Nov.", u'_id': u'1323', u'date': u'1415372649502', u'address': u'1234567890'}
Значение в address
запись - это номер телефона, который отправил SMS.
Я хочу получить идентификатор контакта, используя этот номер, но, если возможно, я хочу избежать поиска всех моих контактов.
1 ответ
Я понял:
def contactFromPhone(phone):
uri='content://com.android.contacts/data'
filter='data4 LIKE ?'
args=['%'+phone+'%']
columns=['contact_id']
contacts=droid.queryContent(uri, columns, filter, args).result
cs=[]
if len(contacts)>0:
for c in contacts:
cs.append(c['contact_id'])
return cs
"телефон" - это нормализованный номер телефона
возвращает список contact_id