2015-09-16 3 views
0

Я отправляю сообщение, используя SmsManager в android. Это приложение отлично работает на моем устройстве при использовании номера предоплаты. Но когда я использую постплатный номер, я не могу отправить сообщение. Предоставляется ли предоплаченный и постоплатный номер для отправки сообщения в андроид. Пожалуйста помоги.Отправка sms в android с постоплатой

+0

который получил ошибки вы –

+0

HII спасибо за ценную информацию. Я получил ответ. Предоплата или постоплата не имеет значения при отправке сообщений через smsManager. –

ответ

0

Однако, я понял, что если количество сообщений больше 160, sms.sendTextMessage() не может работать. то есть. Вы должны разделить сообщение на части, а затем sms.sendMultiPartTextMessage(). Только английские символы будут < = 160 для отправки текстового сообщения. Если вы используете специальные символы, счетчик (длина) должен быть < = 70. Ниже приведен мой код. Я использую арабские символы.

private void sendSMS(String phoneNumber, String message) { 
String SENT = "SMS_SENT"; 
String DELIVERED = "SMS_DELIVERED"; 

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

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

if (message.length() <= 70) { 
    SmsManager sms = SmsManager.getDefault(); 
    Log.d(LOG_TAG, "Send Sms : " + message + " serverNumber " 
      + phoneNumber); 
    sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI); 
} else { 
    SmsManager sms = SmsManager.getDefault(); 
    ArrayList<String> parts = sms.divideMessage(message); 
    int numParts = parts.size(); 

    ArrayList<PendingIntent> sentIntents = new ArrayList<PendingIntent>(); 
    ArrayList<PendingIntent> deliveryIntents = new ArrayList<PendingIntent>(); 

    for (int i = 0; i < numParts; i++) { 
     sentIntents.add(PendingIntent.getBroadcast(act, 0, new Intent(
       SENT), 0)); 
     deliveryIntents.add(PendingIntent.getBroadcast(act, 0, 
       new Intent(DELIVERED), 0)); 
    } 
    Log.d(LOG_TAG, "Send Sms multipart : " + message + " serverNumber " 
      + phoneNumber); 
    sms.sendMultipartTextMessage(phoneNumber, null, parts, sentIntents, 
      deliveryIntents); 
} 

Я надеюсь, что это помогает

Смежные вопросы