Я зарегистрировал прослушиватель вещания, чтобы получить android.provider.Telephony.SMS_DELIVER
Намеренное действие.Android Получите SMS-намерение: получите идентификатор сообщения или идентификатор темы
Кажется, я могу получить тело и отправить номер телефона этого нового сообщения.
Однако я не могу получить Идентификатор сообщения или Идентификатор потока этого нового сообщения. Единственный способ, которым я нашел, - это поиск сообщений и таблиц бесед для соответствия содержимого. Но это кажется немного грязным, и я чувствую, что должен быть более аккуратный способ.
Сторона примечания:
Есть ли какая-то SMS-документация, которую я пропустил? Потому что много SMS-апи кажется очень недокументированным.
Можно ли использовать это базовое приложение/службу для Android, чтобы определить, какой поток или идентификатор сообщения находится в его поддерживаемой таблице? Не удалось запросить таблицы для соответствия тела сообщения и участников. –
Нет надежных. Например, вы можете запросить поставщика контента (база данных SMS доступна как поставщик контента) и запросить идентификатор с наивысшим номером в базе данных и предположить, что это самое последнее входящее сообщение. Это, однако, ненадежно: может быть много входящих сообщений, полученных в быстрой последовательности; Также требуется некоторое время, чтобы входящее сообщение сохранялось и доступно, если вы запрашиваете раннее, вы не увидите последнее сообщение. –
Итак, я пробовал идею SQL-запроса, но вы, где это правильно (неудивительно), когда вы получаете намерение, таблицы Android еще не обновлены. Есть ли способ послушать изменения таблиц? Или мне не повезло? –