Программирование SMS на Android - PullRequest
3 голосов
/ 07 декабря 2010

Я хочу найти способ конкретного смс, который содержит определенное слово и автоматически отвечать обратно.

Я нашел способ ответить на SMS, но все еще не могу найти SMS ...

Ответы [ 4 ]

2 голосов
/ 18 июня 2011

Это правда, что это не документировано, но люди используют это годами, и если обновление должно было изменить способ доступа к базе данных SMS, это затронуло бы сотни пользовательских приложений.Поэтому я сомневаюсь, что в ближайшее время они это изменит.

В любом случае, начните с создания объекта курсора в базе данных SMS и просто запустите запрос без условий в предложении where.Затем просто бегите по базе данных, извлекая нужные вам значения.Кто-то был достаточно хорош, чтобы публиковать разные имена столбцов в базе данных.Вот они: Сколько столбцов базы данных, связанных с SMS в Android?

Ниже приведен фрагмент кода для получения SMS из базы данных.

Cursor messages; 
    Columns message = ColumnsFactory.messages(); //points to structutre
    messages = getContentResolver().query(Uri.parse("content://sms/"),
            null, null, null, null);



    while (messages.moveToNext()) {
    //do stuff here.
1 голос
/ 18 октября 2012

В вашем приемнике вещания для входящих SMS, проверьте тело SMS. Если в тексте SMS содержится именно это слово, отправьте ответ на этот номер. Таким же образом вы также можете проверить входящие номера.

Пример проверки определенного номера:

if (smsBody.contentEquals("word to match")) {
   // create reply
}
1 голос
/ 07 декабря 2010

Вы пробовали Google App Inventor? У него есть пример приложения такого типа.

Пример веб-сайта для изобретателя приложения

0 голосов
/ 08 декабря 2010

Существует недокументированный поставщик контента для SMS: "content: // sms / inbox".Но это не официально и может измениться.Нет правильного способа доступа к смс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...