【发布时间】:2013-05-08 18:35:45
【问题描述】:
自过去几天以来,我一直在寻找一种方法来使用我已经存储在变量中的电话号码来检索联系人姓名,不幸的是,到目前为止我发现的所有内容似乎都在使用已弃用的函数/呼叫。
当然,我尝试过自己的方式,但我觉得我的 Android/JAVA 知识还不足以理解这个概念,当我尝试运行任何东西时,总是会出现一些错误或强制关闭。
到目前为止,我能找到的最好的东西是这样的:
public String getContactName(final String phoneNumber)
{
Uri uri;
String[] projection;
if (Build.VERSION.SDK_INT >= 5)
{
uri = Uri.parse("content://com.android.contacts/phone_lookup");
projection = new String[] { "display_name" };
}
else
{
uri = Uri.parse("content://contacts/phones/filter");
projection = new String[] { "name" };
}
uri = Uri.withAppendedPath(uri, Uri.encode(phoneNumber));
Cursor cursor = context.getContentResolver().query(uri, projection, null, null, null);
String contactName = "";
if (cursor.moveToFirst())
{
contactName = cursor.getString(0);
}
cursor.close();
cursor = null;
return contactName;
}
但是通过使用这段代码,Eclipse 告诉我:无法解析上下文。 我发现的很多代码和解释都使用了这个Context的东西,但是即使看完这个我还是不明白:What is 'Context' on Android?
任何帮助将不胜感激, 非常感谢
【问题讨论】:
标签: android eclipse android-contacts phone-number