Это мой код для отправки SMS-сообщений в моем Android приложения:Android: Поставленный SMS pendingIntent
private void SendSMS(final String message,final String phoneNumber) { SmsManager sms = SmsManager.getDefault(); PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, new Intent(SENT), 0); PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0, new Intent(DELIVERED), 0); registerReceiver(new BroadcastReceiver(){ @Override public void onReceive(Context arg0, Intent arg1) { switch (getResultCode()) { case Activity.RESULT_OK: Toast.makeText(getBaseContext(), "SMS sent", Toast.LENGTH_SHORT).show(); break; case SmsManager.RESULT_ERROR_GENERIC_FAILURE: Toast.makeText(getBaseContext(), "Generic failure", Toast.LENGTH_SHORT).show(); break; case SmsManager.RESULT_ERROR_NO_SERVICE: Toast.makeText(getBaseContext(), "No service", Toast.LENGTH_SHORT).show(); break; case SmsManager.RESULT_ERROR_NULL_PDU: Toast.makeText(getBaseContext(), "Null PDU", Toast.LENGTH_SHORT).show(); break; case SmsManager.RESULT_ERROR_RADIO_OFF: Toast.makeText(getBaseContext(), "Radio off", Toast.LENGTH_SHORT).show(); break; default: break; } } }, new IntentFilter(Constants.SENT)); registerReceiver(new BroadcastReceiver(){ @Override public void onReceive(Context arg0, Intent arg1) { switch (getResultCode()) { case Activity.RESULT_OK: Toast.makeText(getBaseContext(), "SMS delivered", Toast.LENGTH_SHORT).show(); break; case Activity.RESULT_CANCELED: Toast.makeText(getBaseContext(), "SMS not delivered", Toast.LENGTH_SHORT).show(); break; } } }, new IntentFilter(DELIVERED)); try{ sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI); }catch(Exception e){ e.printStackTrace(); Toast.makeText(getApplicationContext(), EXCEPTION, Toast.LENGTH_LONG).show(); } }
Все отлично работает, я могу отправить SMS и обе мои широковещательные приемники срабатывают, когда смс отправляется и доставляется. В моей стране каждое подтверждение доставленного сообщения должно быть оплачено, и даже если на моем устройстве я могу отправить много сообщений бесплатно, мой кредит уменьшается. Есть некоторые настройки, которые я пропустил, и что я должен установить, чтобы избежать доставки подтвержденного сообщения, или мне нужно удалить «доставленный» pendingIntent, если на самом деле это проблема? Не могли бы вы дать мне дополнительную информацию? Благодаря
Спасибо за ваш ответ;) – Ant4res