Перехватить входящие SMS - PullRequest
2 голосов
/ 20 июля 2010

Хотелось бы узнать, какие есть варианты перехвата СМС. Я хочу иметь возможность запустить некоторый код для обработки SMS при получении. Будем весьма благодарны за любые советы о том, возможно ли это технически, и какие у меня есть варианты, если есть несколько способов.

Спасибо Пол

Ответы [ 5 ]

1 голос
/ 21 июля 2010

Для Windows Mobile довольно просто перехватывать SMS-сообщения, используя класс MessageInterceptor . В MSDN даже есть статья о том, как его использовать .

1 голос
/ 21 июля 2010

в Blackberry вы можете подключить прослушиватель сообщений к определенному порту.

try {
            final MessageConnection conn = (MessageConnection) Connector.open("sms://:"+port);
            conn.setMessageListener(new MessageListener() {

                public void notifyIncomingMessage(MessageConnection mc) {
                    Message msg;
                    try {
                        msg = conn.receive();
                    } catch (InterruptedIOException ex) {
                        ex.printStackTrace();
                    } catch (IOException ex) {
                        ex.printStackTrace();
                    }
                    String senderAddress = msg.getAddress(); // Get info from message
                    if (msg instanceof TextMessage) {
                        String msgReceived = ((TextMessage) msg).getPayloadText();
                        // Do something with the message here
                    } else if (msg instanceof BinaryMessage) {
                        byte[] msgReceived = ((BinaryMessage) msg).getPayloadData();
                        // do something with the binary message here
                    }
                }
            });

        } catch (IOException ex) {
            ex.printStackTrace();
        }

port = 0 означает, что вы можете прослушивать все входящие смс по умолчанию.

, если вы присоединяете прослушиватель сообщений к портукроме 0, сообщение не будет отображаться во входящих.но если вам не удалось обработать это сообщение, оно появится в папке «Входящие».

существуют некоторые ограничения для прослушивателей сообщений.

  1. вы не можете читать SMS непосредственно из папки «Входящие».
  2. только одно стороннее приложение может прослушивать один порт.Например, если ваше приложение прослушивает порт 0, никакое другое приложение не может прослушивать этот порт.
  3. после перезапуска Blackberry Blackberry удалит вас прослушиватель сообщений.
1 голос
/ 21 июля 2010

Я могу говорить только для Symbian C ++. И хорошие новости - это возможно.
Вы можете использовать этот пример кода, если хотите получать уведомления обо всех изменениях в папке входящих сообщений: http://wiki.forum.nokia.com/index.php/CS001416_-_Listening_for_incoming_SMS_messages
Или в этом примере вы хотите перехватить сообщения, отправленные на определенный порт, или только сообщения, которые соответствуют некоторому текстовому шаблону: http://wiki.forum.nokia.com/index.php/SMS_Utilities_API

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

1 голос
/ 21 июля 2010

Поскольку у вас так много тегов, трудно сказать, для какой ОС вы разрабатываете. На iPhone вы не можете «подслушивать» сообщения SMS без помощи пропатченного ядра (джейлбрейк).

0 голосов
/ 21 июля 2010

В Blakberry вы также не можете шпионить за SMS-сообщениями, которые запускаются на стандартном порту.

...