Почему мое приложение не может отправлять SMS-сообщения даже с необходимыми разрешениями? - PullRequest
0 голосов
/ 03 июня 2019

Мое приложение пытается отправить смс на другой номер. У меня есть необходимое разрешение (SEND_SMS), предоставленное пользователем. Однако сообщение не отправляется. Приложение обмена сообщениями по умолчанию отображает сообщение с запросом «Не удалось отправить / отправить». В чем причина этого и как я могу это исправить? Мой код довольно прост -

SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phoneno, null, txt, null, null);

Примечание. Мое приложение работает значительно ниже частоты смс Редактировать: он отлично работает при запуске из операции, но не работает при запуске из службы. В чем причина этого?

Ответы [ 2 ]

0 голосов
/ 05 июня 2019

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

0 голосов
/ 03 июня 2019

Используйте этот код вместо:

Intent sInt = new Intent(Intent.ACTION_VIEW);
sInt.putExtra("address", new String[]{txtMobile.getText().toString()});
sInt.putExtra("sms_body",txtMessage.getText().toString());
sInt.setType("vnd.android-dir/mms-sms");

Убедитесь, что у вас есть этот тег в манифесте:

<uses-permission android:name="android.permission.SEND_SMS"/>
...