我做了一个BroadcastReceiver
接收给我打电话的人的电话号码
<intent-filter>
<action
android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
如何查看收到的电话号码是否在我的联系人列表中?
您是否有提示可以在不加载联系人列表的情况下知道此电话号码是否存在于联系人列表中?
我不需要更多信息,只要这个电话号码存在即可。
如果不可能,并且我必须加载联系人列表,如何在BroadcastReceiver
?
当我尝试做的时候getContentResolver
,它不起作用,因为我正在BroadcastReceiver
不在里面Activity
...
感谢您的帮助
public boolean contactExists(Context context, String number) {
// number is the phone number
Uri lookupUri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(number));
String[] mPhoneNumberProjection = { PhoneLookup._ID, PhoneLookup.NUMBER, PhoneLookup.DISPLAY_NAME };
Cursor cur = context.getContentResolver().query(lookupUri, mPhoneNumberProjection, null, null, null);
try {
if (cur.moveToFirst()) {
cur.close();
return true;
}
} finally {
if (cur != null)
cur.close();
}
}
return false;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)