2012-06-05 1 views
0

Я не знаю, как реализовать очередь сообщений в smslib, я получаю новый sms и я храню в таблице базы данных, я делаю некоторую логику, а затем я создаю новый sms, я уже архивирую этот -синхронный путь, но я Не знаете, как это сделать асинхронно? может ли кто-нибудь мне помочь или, может быть, намек, я вижу документы, но я не знаю, как сделать очередь, так как я получаю и отправляю sms ???, мне нужно запустить это приложение, и я хочу, чтобы каждый пользователь получал ответ, Пример Я использую метод Service.getInstance(). queueMessage (msg); но он сделал то же самое, что и Service.getInstance.sendMessage(), поэтому мой вопрос заключается в том, как использовать очередь в smslib ??Как использовать семейство методов queue-messaging в smslib?

Может ли кто-нибудь направить меня на это?

ответ

3

Методы sendMessage() и queueMessage() отправляют сообщения через ваш модем, но есть принципиальная разница; sendMessage() делает синхронно и queueMessage(). Есть асинхронно (как вы сказали сами).

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

Чтобы получить статус отправки из этого сообщения (если оно было отправлено или нет, любые ошибки и т. Д.), Вам необходимо создать класс, который реализует интерфейс IOutboundMessageNotification. Там, в методе process, вы получаете сообщение о состоянии, и вы можете обрабатывать его в соответствии с вашей собственной реализацией.

Вы установили сервис для прослушивания этих уведомлений с помощью Service.getInstance().setOutboundMessageNotification(outboundMessageNotification);. То же самое применяется, если вы хотите слушать входящие сообщения, используя IInboundMessageNotification.

Надеется, что это помогло

Роб