Нам нужно читать как входящие, так и исходящие текстовые сообщения с телефона. Я много гуглил и нашел ряд источников, таких как:
Обнаружение входящих и исходящих SMS Как использовать SMS-провайдера? Где находятся документы? Android читает SMS-сообщения
назвать несколько.
По результатам своего исследования я написал следующий код:
Uri allMessages = Uri.parse("content://sms/inbox");
Cursor cursor = airApp.getContentResolver().query(allMessages, null, null, null, null);
if(cursor.moveToFirst()){
do {
for (int i = 0; i < cursor.getColumnCount(); i++) {
log.debug(cursor.getColumnName(i) + "=" + cursor.getString(i) + "");
}
log.debug("One row finished **************************************************");
} while (cursor.moveToNext());
}
Проблема в том, что курсор всегда равен нулю. Я проверил разрешения, и они:
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.WRITE_SMS" />
<uses-permission android:name="android.permission.RECEIVE_MMS" />
Есть идеи, почему я получаю нулевой курсор?