Ответ 1
Это то, что XMPP превосходит.:)
См. библиотеку Smack Java, или asmack для настроенной под Android версии.
А для приложения Android, использующего asmack для долговременных двунаправленных сообщений, см. BuddyDroid.
Изменить, в ответ на комментарий ниже:
Преимущество такого подхода в вашем случае состоит в том, что вы можете немедленно нажимать на клиента неограниченное количество, без задержки (или не гарантированной доставки) SMS. XMPP также дает вам защиту подключения, сжатие и возможность накладывать свои собственные расширения поверх него.
Кроме того; и я не знаю, на кого вы нацеливаетесь, или это относится к — таким образом вам не нужно полагаться на пользователя, имеющего неограниченный текстовый план (но, конечно, вам нужен план данных).
См. Prosody или Tigase если вы заинтересованы и ищете сервер (есть несколько open source).
Однако, перечитав свой вопрос, вы, кажется, подразумеваете низкий уровень активности, поэтому, возможно, не стоит поддерживать (вход, обнаружение потери соединения, повторное подключение) сеанс XMPP для любого вашего приложения.
Наконец, когда вы можете перехватывать входящие SMS-сообщения на устройстве Android, вы не можете не показывать их в папке входящих сообщений пользователя. Таким образом, вы можете обрабатывать входящие SMS-сообщения, но вы не можете сообщить системе об отбросе сообщения.
Недавно я обнаружил, что это неверно: если вы определяете атрибут android:priority
в своем SMS-прослушивании intent-filter
, вы получите "упорядоченное вещание ", который позволяет отменить входящую рассылку SMS до ее распространения в другие приложения, например, входящие сообщения SMS. Обратите внимание, что это работает только на Android 1.6 и выше.