gpt4 book ai didi

android - 短信队列处理失败短信

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:17:49 24 4
gpt4 key购买 nike

我正在开发一个执行以下操作的应用:

  • 接收短信
  • 发送短信
  • 对发送者执行一些计算任务。

有没有可能是短信发送失败。谁能告诉我如何管理发送失败的 SMS 消息队列,并在一段时间后继续重试发送。

我看过代码,但不知道如何处理 SMS 队列并重新发送它们。

代码如下:

private void sendSMS(String phoneNumber, String message)
{
String SENT = "SMS_SENT";
String DELIVERED = "SMS_DELIVERED";

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

PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0,
new Intent(DELIVERED), 0);

//---when the SMS has been sent---
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;
}
}
}, new IntentFilter(SENT));
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);
}

最佳答案

我不确定我是否正确理解了你的问题,但据我所知,这似乎是一个更简单的解决方案:

当发生上述任何一种故障时,您可以将该数字插入列表中,并在指定的时间限制后检查列表。如果列表中出现任何号码,则向该号码发送 Msg。发送消息后,您应该从列表中删除该项目

编辑:

代码-

 class checkList extends AsyncTask<String, Void, Void> {
public Void doInBackground(String... p) {
while (true) {

//Check List Value Here

try {
Thread.sleep(1000);
} catch (InterruptedException ie) {
ie.printStackTrace();
Log.e("Sleep", "Error: " + ie.toString());

}
}
}

};

然后在主 Activity 中,写-

new checkList().execute();

关于android - 短信队列处理失败短信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11823390/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com