有没有一种简单的方法可以检查传入的呼叫者是否是Android中的联系人?

Android手机收到呼叫时,它会自动检查呼叫是否存在于自己的联系人数据库中.我想知道是否有一种简单的方法来访问该信息.我有一个PhonestateListener在振铃状态期间执行某些操作,我想检查传入的调用者是否在联系人列表中.

有没有办法在不通过Contacts ContentProvider的情况下执行此操作?

解决方法

手机应用程序也使用联系人ContentProvider;我不确定你为什么要避免这种情况.此外,它是唯一可公开访问该信息的方式.

无论如何,将数字解析为名称(在这种情况下为2.0之前)非常简单:

Uri uri = Uri.withAppendedpath(Phones.CONTENT_FILTER_URL,Uri.encode(number));

String name = null;
Cursor cursor = context.getContentResolver().query(uri,new String[] { Phones.disPLAY_NAME },null,null);
if (cursor != null && cursor.movetoFirst()) {
    name = cursor.getString(cursor.getColumnIndex(Phones.disPLAY_NAME));
    cursor.close();
}

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...