Android 是否从sms表中获取发件人的联系人姓名?
我正在使用以下信息从收件箱中获取短信Android 是否从sms表中获取发件人的联系人姓名?,android,Android,我正在使用以下信息从收件箱中获取短信 ContentResolver cr = getContentResolver(); Cursor cur = cr.query(Uri.parse("content://sms"), null,null,null, null); DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy"); cursor_count=cur.getCount();
ContentResolver cr = getContentResolver();
Cursor cur = cr.query(Uri.parse("content://sms"), null,null,null, null);
DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
cursor_count=cur.getCount();
if(cur.moveToFirst())
{
do {
sender.add(cur.getString(2));
msg.add(cur.getString(11));
date.add(formatter.format(Long.parseLong(cur.getString(4))));
} while (cur.moveToNext());
我从地址字段中获取此人的地址,但如果存储在我的联系人中,我还想获取发件人的联系人姓名。person字段总是返回null,为什么?请尝试此代码
String contact=address;
Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(address));
Cursor cs= context.getContentResolver().query(uri, new String[]{PhoneLookup.DISPLAY_NAME},PhoneLookup.NUMBER+"='"+address+"'",null,null);
if(cs.getCount()>0)
{
cs.moveToFirst();
contact=cs.getString(cs.getColumnIndex(PhoneLookup.DISPLAY_NAME));
}
试试这个代码
String contact=address;
Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(address));
Cursor cs= context.getContentResolver().query(uri, new String[]{PhoneLookup.DISPLAY_NAME},PhoneLookup.NUMBER+"='"+address+"'",null,null);
if(cs.getCount()>0)
{
cs.moveToFirst();
contact=cs.getString(cs.getColumnIndex(PhoneLookup.DISPLAY_NAME));
}
无法导入PhoneLookup??地址是联系人号码。contact=cur.getString(2);或contact=cur.getString(“地址”);请提供完整的工作代码或示例,因为我不知道在获取所有短信日志时将此代码准确放置在何处…请将此代码放置在您接收新短信的广播接收器中,获取号码(地址)并继续使用我的代码。希望您能够导入电话查找??地址是联系人号码。contact=cur.getString(2);或contact=cur.getString(“地址”);请提供完整的工作代码或示例,因为我不知道在获取所有短信日志时将此代码准确放置在何处…请将此代码放置在您接收新短信的广播接收器中,获取号码(地址)并继续使用我的代码,希望您能收到