Android-телефония.SMS-сообщения
Как может Telephony.Sms.Conversations
использоваться для извлечения информации о конвоировании в строку?
Я старался:
ContentResolver cr = context.getContentResolver();
Cursor convo = cr.query(Telephony.Sms.Conversations.CONTENT_URI,
new String[] { Telephony.Sms.Conversations.ADDRESS,
Telephony.Sms.Conversations.PERSON },
null,
null,
Telephony.Sms.Conversations.DEFAULT_SORT_ORDER);
Как только я получаю ошибку invalid column address
, когда я удаляю адрес, я получаю invalid column person
, Какие столбцы предоставляет этот класс? (Я не смог найти что-либо на справочной странице API или каких-либо примерах в Интернете. Кстати, у меня уже есть рабочий код для извлечения входящих и исходящих сообщений, но я также хотел бы получать разговоры (я имею в виду заголовок и количество сообщений), без сопоставления входящих и исходящие результаты)
1 ответ
Вы можете получить только значения "msg_count" и "snippet" из Telephony.Sms.Conversations, а значение "address" - из Telephony.TextBasedSmsColumns.
private static final String[] SMS_CONVERSATIONS_PROJECTION = new String[]{"msg_count", "snippet"};
Cursor cursor = cr.query(Telephony.Sms.Conversations.CONTENT_URI,
SMS_CONVERSATIONS_PROJECTION, null, null,Telephony.Sms.Conversations.DEFAULT_SORT_ORDER);
while(cursor.moveToNext()) {
int msg_count = cursor.getInt(cursor.getColumnIndex("msg_count"));
String snippet = cursor.getString(cursor.getColumnIndex("snippet"));
}
cursor.close;
Нам неудобно без "адреса", "даты" и тд.
Telephony.Sms.Conversation