Android Python-通过电话号码获取联系人

Android Python-通过电话号码获取联系人,android,python,android-contacts,phone-number,sl4a,Android,Python,Android Contacts,Phone Number,Sl4a,使用SL4A和Python,是否有一种从电话号码获取联系人ID的简单方法 电话号码来自SMS的“地址”字段 我试图避免搜索所有联系人 我使用m=droid.smsGetMessageById(id,None).result来获取SMS消息。结果如下: {u'read':u'1',u'body':u'Hello!您的手机账单现在可以在virginmobile.co.uk/yourcount上查看。我们将在11月19日当天或之后收取您12.12美元的直接借记,u'id':u'1323',u'date

使用SL4A和Python,是否有一种从电话号码获取联系人ID的简单方法

电话号码来自SMS的“地址”字段

我试图避免搜索所有联系人

我使用
m=droid.smsGetMessageById(id,None).result
来获取SMS消息。结果如下:

{u'read':u'1',u'body':u'Hello!您的手机账单现在可以在virginmobile.co.uk/yourcount上查看。我们将在11月19日当天或之后收取您12.12美元的直接借记,u'id':u'1323',u'date':u'1415372649502',u'address':u'1234567890'

地址
项中的值是发送SMS的电话号码

我想使用此号码获取联系人ID,但如果可能,我想避免搜索我的所有联系人。

我想:

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
“phone”是一个标准化的电话号码


返回联系人id列表

请添加一些输入和预期输出我在哪里可以获得更多关于这些内容的文档?