Android Отправить SMS не работает из приложения, но работает на телефоне - PullRequest
2 голосов
/ 15 марта 2012

У меня есть приложение, в которое я отправляю SMS-сообщение, но оно работает только когда я дома и пользуюсь своим Wi-Fi. Когда я отсутствует и использую сеть моего провайдера, он не отправляет: «Общий сбой», НО я всегда могу отправить SMS с SMS моего телефона (используя тот же номер и формат). В чем разница? Что-то, что я должен установить в своем коде приложения или манифесте?

Довольно стандартные вещи здесь:

 PendingIntent sentPI = PendingIntent.getBroadcast(this, 0,
            new Intent(SENT), 0);

        PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0,
            new Intent(DELIVERED), 0)


SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI); 


HERE IS THE LOGCAT: I see "gw_bit_error" but Not sure if thats anything...

D/QCRIL   ( 1277): Saved WCDMA monitored set info
D/QCRIL   ( 1277): qcril_event_main(): Waiting...
D/QCRIL   ( 1277): Received srvsys event : CM_SS_EVENT_RSSI (73729)
D/QCRIL   ( 1277): qcril_event_main(): 1 items on queue
D/QCRIL   ( 1277): RIL <--- CM_SS_EVENT_RSSI (73729) --- AMSS
D/QCRIL   ( 1277): LG_SYS: Accepted CM_SS_EVENT_RSSI, supported state.
D/QCRIL   ( 1277): Serving System : srv status 2, sys mode 5, roam status 0, hdr_hybrid 0, hdr srv status 0, hdr roam status 0
D/QCRIL   ( 1277): [Event CM_SS_EVENT_RSSI (73729)] Modem: On --> On, GW SIM: Ready --> Ready, CDMA SIM: Not ready --> Not ready, Mode Config: GW --> GW
D/QCRIL   ( 1277): [Event CM_SS_EVENT_RSSI (73729)] Subscription: SIM --> SIM, Network: GW --> GW, Mode Preferred: GW --> GW
D/QCRIL   ( 1277): [Event CM_SS_EVENT_RSSI (73729)] rs notification status 1, changed 0
D/QCRIL   ( 1277): Finish processing event 1
D/QCRIL   ( 1277): GW signal is available.

UPDATE:

Я думаю, что это может иметь какое-то отношение к тому, что я отправляю в его смс, потому что теперь мое сообщение также не удается отправить домой. Я попытался просто отправить текст "test", и это сработало, Однако более сложное сообщение для отправки. Вот что я посылаю:

D/SmsManager(11128):    text: You have received a message!
D/SmsManager(11128):
D/SmsManager(11128): groceries
D/SmsManager(11128):
D/SmsManager(11128): -------------------------------
D/SmsManager(11128): 1.  pasta
D/SmsManager(11128): -------------------------------
D/SmsManager(11128): 2.  cereal
D/SmsManager(11128): -------------------------------
D/SmsManager(11128): 3.  bread
D/SmsManager(11128): -------------------------------
D/SmsManager(11128): 4.  milk

Кто-нибудь знает, почему это не получится? Разделители строк или это могут быть разрывы строк? Лимит символов? thx -Mike

Ответы [ 2 ]

1 голос
/ 19 июля 2012

SMS ограничено только 160 символами. Если вам нужно отправить больше, EMS (Enhanced Messaging Service) разрешает поддерживать до 300, а MMS поддерживает до 1000 символов или ограничение данных ваших операторов (обычно 2,1 МБ).

0 голосов
/ 16 марта 2012

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

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