这是'threads'表格实例
_id| recipient_ids| snippet
1 | 1 |Hi this is hello world
2 | 2 |Multiple send
3 | 1 3 4 |Send
与recepient_ids对应的值放在'canonical_addresses'表中
_id| address
1 |9879565655
2 |1111111111
3 |5465321348
4 |8965321354
现在我必须为线程表中的每个'threads.recipient_ids'获取'canonical_addresses.address'(有时,recipient_id可以多于一个)?
注意:
我正在使用content://mms-sms/conversation
从线程表中获取详细信息。
答案 0 :(得分:2)
您需要按照以下方式制定查询:
String [] colAddress={"DISTINCT address"};
Cursor cur = getContentResolver().query(uriSMSURI, colAddress, null, null,null);
答案 1 :(得分:1)
我无法找到直接的解决方案。
确实,为了获取收件人详细信息,请使用线程ID查询Content://sms/
。
从光标中选择不同的地址。
我们将能够获取收件人的详细信息。
为了更有效地回应它。
摘录如下
Uri THREAD_ID_CONTENT_URI = Uri.parse("content://sms/");
Cursor cur = getContentResolver().query(uribuilder.build(), new String[]{"address"},"thread_id=#) group by (address", null,null);
谢谢你
答案 2 :(得分:0)
使用此uri获取
ContentResolver cr = context.getContentResolver();
Cursor pCur = cr.query(
Uri.parse("content://mms-sms/canonical-addresses"), new String[]{"address"},
"_id" + " = ?",
new String[]{your_thread_id}, null);
String contactAddress = null;
if (pCur != null) {
if (pCur.getCount() != 0) {
pCur.moveToNext();
contactAddress = pCur.getString(pCur.getColumnIndex("address"));
}
pCur.close();
}