Как поймать входящее текстовое сообщение - PullRequest
4 голосов
/ 24 апреля 2010

Я хочу иметь возможность контролировать входящие текстовые сообщения. Мое приложение все еще находится в версии "проверки концепции", и я пытаюсь изучать программирование на Android по ходу работы.

Сначала мое приложение должно отлавливать входящие текстовые сообщения. И если сообщение с известного номера, то разберитесь с ним. Если нет, отправьте сообщение, так как ничего не случилось с приложением текстовых сообщений по умолчанию.

Я не сомневаюсь, что это можно сделать, но у меня все еще есть проблемы, и я вижу некоторые подводные камни в том, как все это делается на Android.

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

Как быть уверенным, что мое приложение впервые получит входящие текстовые сообщения?

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

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

Ответы [ 2 ]

2 голосов
/ 26 ноября 2010

Эспен

Ответ на этот вопрос состоит из нескольких частей. Сначала поймите, что наша компания решила эту проблему, но решение является временно проприетарным, поэтому я отвечу на все, что могу, не вызывая конфликтов ни здесь, ни для моей компании.

1) Вы никогда не сможете гарантировать, что ваше приложение когда-либо получит первый выбор. Что вы можете сделать, так это сделать вашу обработку «достаточно быстрой», что не имеет значения.

2) Намерения являются абсолютными, если вы заставляете проблему. Наша компания использует концепцию, называемую намеренной маршрутизацией. Это гарантирует, что данные отправляются в соответствующее приложение. Основная идея заключается в том, что при получении SMS вы создаете новое намерение (не то же самое) и отправляете его непосредственно классу. Это имеет некоторые особые соображения, но должно дать вам некоторое направление.

К сожалению, не нарушая политику доверия моей компании или политики stackoverflow, я не могу больше говорить публично, пока решение не будет обнародовано (в течение следующего месяца).

FuzzicalLogic

0 голосов
/ 25 апреля 2010

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

и после этого, это нормально, если вы находитесь на этапе «ничего не делать», но если вы хотите запретить отправку смс в собственное приложение обмена сообщениями, не рекомендуется запрещать пользователю.

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

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