Я пытаюсь отправить смс, когда мой мобильный телефон перезагружается. Мой код работает в действии. Я могу получить отчет о доставке в действии. Но я поместил тот же код в Broadcastreceiver, он не работает ,Получить отчет о доставке SMS с услугой
try
{
String SENT = "SMS_SENT";
PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, new Intent(SENT), 0);
registerReceiver(new BroadcastReceiver()
{
@Override
public void onReceive(Context arg0, Intent arg1)
{
int resultCode = getResultCode();
switch (resultCode)
{
case Activity.RESULT_OK:
Toast.makeText(getBaseContext(), "SMS sent",Toast.LENGTH_LONG).show();
break;
case SmsManager.RESULT_ERROR_GENERIC_FAILURE: Toast.makeText(getBaseContext(), "Generic failure",Toast.LENGTH_LONG).show();
break;
case SmsManager.RESULT_ERROR_NO_SERVICE: Toast.makeText(getBaseContext(), "No service",Toast.LENGTH_LONG).show();
break;
case SmsManager.RESULT_ERROR_NULL_PDU: Toast.makeText(getBaseContext(), "Null PDU",Toast.LENGTH_LONG).show();
break;
case SmsManager.RESULT_ERROR_RADIO_OFF: Toast.makeText(getBaseContext(), "Radio off",Toast.LENGTH_LONG).show();
break;
}
}
}, new IntentFilter(SENT));
SmsManager smsMgr = SmsManager.getDefault();
smsMgr.sendTextMessage(address, null,"Send sms", sentPI, null);
}
catch (Exception e)
{
Toast.makeText(this, e.getMessage()+"!\n"+"Failed to send SMS", Toast.LENGTH_LONG).show();
e.printStackTrace();
}
Как использовать этот код в широковещательном приеме или в обслуживании ?.
, как я могу обработать исключение в службах, когда отправка смс? – Ram
Какое исключение? –
Пример: при перезагрузке у меня есть 0 баланс, В то время смс не отправлено, Служба ждет, пока не будет отправлено sms. Для этого как я могу обращаться с этим – Ram