是否有接受/接收的方式检查联系人列表中是否有人(电话号码)?

时间:2011-12-20 02:40:02

标签: android android-contacts

是否有接受/接收方式检查某人(电话号码)是否在联系人列表中?

我希望我可以这样称呼:

bool bInContactList = InContactList(“1415922353”);

2 个答案:

答案 0 :(得分:3)

这并不是您想要的那么简单,但您可以向联系人内容提供商查询与电话号码相关联的联系人:

Uri lookupUri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNumber));
Cursor c = getContentResolver().query(lookupUri, new String[] {PhoneLookup._ID}, null, null, null);
if (c.getCount() > 0) {
    // there is some contact
} else {
    // there is no contacts with phoneNumber
}

应用程序需要android.permission.READ_CONTACTS权限才能访问联系人数据。

您可以查看Android Developer site以获取有关内容提供商的更多参考信息,并查看Android中可用标准提供商列表的android.providers包文档。

答案 1 :(得分:1)

我担心您没有提供有关您所谈论语言的足够信息。如果您使用Java - 例如 - 您有一个contains方法(对所有集合都是通用的),那么,如果您想知道集合中是否包含某个String,您可以通过调用此方法来实现:

boolean found = someCollection.conmtains(“1415922353”);