Когда я запрашиваю контент-провайдера "content: // sms /" и извлекаю информацию из столбца адреса; Я всегда получаю номер телефона, по которому сообщение отправлено или отправлено. Если я получаю сообщение, то адрес - это номер телефона другого человека. Когда я отправляю сообщение, то адресом является сообщение, которому я отправляю.
Как определить, является ли сообщение в папке "content: // sms /" отправленным или полученным сообщением без запроса соответствующих папок входящих / отправленных?
Uri uri = Uri.parse("content://sms/");
String[] columns = new String[] { "_id", "thread_id", "address", "person", "date", "body" };
String selection = "thread_id = " + threadId;
String sortOrder = "date DESC";
String limit = "LIMIT " + String.valueOf(mItemsOnPage);
TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
String deviceNumber = tm.getLine1Number();
Cursor cursor = getContentResolver().query(uri, columns, selection, null,
sortOrder + " " + limit);
if (cursor != null) {
cursor.moveToLast();
while (!cursor.isBeforeFirst()) {
long messageId = cursor.getLong(0);
String address = cursor.getString(2);
long date = cursor.getLong(4);
String body = cursor.getString(5);
long person = cursor.getLong(3);
cursor.moveToPrevious();
}
}
cursor.close();