Вопрос по android – smsManager.sendTextMessage не работает

8

У меня есть событие ниже, чтобы отправлять смс программно. Однако кажется, что это не работает, появляется всплывающее окно с тостом, и в logcat нет записи, просто сообщение не создается. Я также добавил соответствующие разрешения для файла манифеста.

Любые предложения?

 private Runnable SMSRunnable = new Runnable()
 {
     public void run()
     {      
         smsManager = SmsManager.getDefault();

        smsNumber = edittextSmsNumber.getText().toString();
        smsText = edittextSmsText.getText().toString();


        smsManager.sendTextMessage(smsNumber, smsNumber, smsNumber , null, null);

     }
 };
Вы пробовали это на реальном устройстве, у меня это работает. smsManager = SmsManager.getDefault (); smsManager.sendTextMessage (getPhoneNumber (), null, getString (R.string.message), null, null); ND27

Ваш Ответ

4   ответа
1

На самом деле это работает для меня:

String messageText = "...YOUR TEXT HERE...";
SmsManager sm = SmsManager.getDefault();
sm.sendTextMessage("PHONE NUMBER HERE", null, messageText, null, null);

Просто чтобы быть уверенным, с этим вы не найдете сообщение, отправленное в вашей истории сообщений.

1

потом понял, что могу просто добавить код страны. Для меня добавление "+91" до того, как телефонный номер работал как чемпион.

String phnNumber="+91"+editText.getText().toString();
Я также столкнулся с подобным сценарием NPE, но проблема с моей стороны была из-за неправильного номера телефона. Поэтому вы также должны проверить, был ли номер телефона правильным или нет. Napolean
простой и полезный, ему не нужно PendingIntent для получения смс mehmet
1

PendingIntent pi = PendingIntent.getActivity(this, 0,
        new Intent(this, Next.class), 0); 
//Next is the class to move when message sent
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage("phno", null, "message", null, null);
11

Попробуй это

SmsManager sms = SmsManager.getDefault();
PendingIntent sentPI;
String SENT = "SMS_SENT";

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

sms.sendTextMessage(phoneNumber, null, message, sentPI, null);
Это сработало. Если не возражаете, не могли бы вы объяснить, почем Rhys
етод @sendTextMessage () отправляет SMS-сообщение с объектом PendingIntent.PendingIntent, который используется для определения цели, которая будет вызвана позднее. Также мы можем отслеживать состояние процесса отправки SMS-сообщени Raghu Nagaraju

Похожие вопросы