Я пытаюсь отправить SMS в Android на определенный номер и порт, используя следующий код:Android Отправить SMS Ошибка
final String SENT = "SMS_SENT";
PendingIntent sent = PendingIntent.getBroadcast(context, 0, new Intent(SENT), 0);
registerReceiver(Globals.smsReceiver, new IntentFilter(code));
SmsManager manager = SmsManager.getDefault();
manager.sendDataMessage(Globals.NUMBER, null, Globals.PORT, message.getBytes(), sent, null);
Globals.smsReceiver является «SMSSentBroadcastReceiver» объект, который является подклассом «BroadcastReceiver». Globals.PORT - 5000.
Однако, когда код достигает значения на REceive() на SMSSentBroadcastReceiver, он получает код RESULT_ERROR_GENERIC_FAILURE. Согласно документации, я проверил «errorCode» в sendIntent и вернулся 42. Что это значит? Что происходит и как я могу отправить SMS?
Кроме того, этот код работал раньше. Он прекратил работать без видимых причин, за исключением того, что я сменил SIM-карту на мобильном устройстве на другой номер. Но я проверил, что эта карта включена и может отправлять «обычные» SMS через SMS-приложение по умолчанию.
Наконец, мой Manifest также это:
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
И это:
<receiver android:name=".support.SMSSentBroadcastReceiver" >
<intent-filter>
<action android:name="SMS_SENT" />
</intent-filter>
</receiver>
Как я могу понять, что "42" ERRORCODE является и то, что я могу поделать?
Заранее благодарен!
EDIT: перезагрузка устройства не решила проблему. Все еще застрял при родовом отказе.
EDIT 2: Сообщение, которое мне нужно отправить, представляет собой небольшой «XML-подобный» текст. Тем не менее, я просто протестировал, и я даже не могу отправить SMS с «Hello».
Спасибо за ваш ответ! Должен ли я хранить старый «SMS_SENT» или просто заменить его на этот. Btw, почему «SMS_RECEIVED», если я пытаюсь его отправить? – Sagito
@Sagito Я хочу сказать, что заменить «SMS_SENT» на «android.provider.Telephony.SMS_SENT» и полный путь к вам «класс SMSSentBroadcastReceiver», например «com.myexample.receivers.SMSReceiver» –
Посмотрите на [здесь] (http: //www.compiletimeerror.com/2013/10/smsmessage-delivery-in-android-with.html) –