为了账号安全,请及时绑定邮箱和手机立即绑定

如何等待短信发送确认,然后发送下一条短信安卓

如何等待短信发送确认,然后发送下一条短信安卓

慕妹3146593 2022-08-17 16:38:31
我不得不使用, SmsManager smsManager= SmsManager.getDefault();                smsManager.sendTextMessage(phoneNo,null,messageTosend,null,null);但条件是,我需要确认每条消息发送成功,以便我可以继续进一步发送其余消息,依此类推,直到全部。我知道如何使用广播接收器侦听成功,但不知道如何暂停进一步的消息发送,直到广播通知。 final BroadcastReceiver sendSMS = new BroadcastReceiver() {                @Override                public void onReceive(Context arg0, Intent arg1) {                    switch (getResultCode()) {                        case Activity.RESULT_OK:                            break;                        case SmsManager.RESULT_ERROR_GENERIC_FAILURE:                            Toast.makeText(getContext(), "Generic failure",                                    Toast.LENGTH_SHORT).show();                            break;                        case SmsManager.RESULT_ERROR_NO_SERVICE:                            Toast.makeText(getContext(), "No service",                                    Toast.LENGTH_SHORT).show();                            break;                        case SmsManager.RESULT_ERROR_NULL_PDU:                            Toast.makeText(getContext(), "Null PDU",                                    Toast.LENGTH_SHORT).show();                            break;                        case SmsManager.RESULT_ERROR_RADIO_OFF:                            Toast.makeText(getContext(), "Radio off",                                    Toast.LENGTH_SHORT).show();                            break;                    }                }            };如何暂停执行发送代码,直到第一次发送短信成功?
查看完整描述

1 回答

?
胡说叔叔

TA贡献1804条经验 获得超8个赞

private boolean isChecked = true;

final BroadcastReceiver sendSMS = new BroadcastReceiver() {

                @Override

                public void onReceive(Context arg0, Intent arg1) {

                    while(isChecked == true){

                    switch (getResultCode()) {

                        case Activity.RESULT_OK:

                            break;

                        case SmsManager.RESULT_ERROR_GENERIC_FAILURE:

                            Toast.makeText(getContext(), "Generic failure",

                                    Toast.LENGTH_SHORT).show();

                            isChecked = false;

                            break;

                        case SmsManager.RESULT_ERROR_NO_SERVICE:

                            Toast.makeText(getContext(), "No service",

                                    Toast.LENGTH_SHORT).show();

                            isChecked = false;

                            break;

                        case SmsManager.RESULT_ERROR_NULL_PDU:

                            Toast.makeText(getContext(), "Null PDU",

                                    Toast.LENGTH_SHORT).show();

                            isChecked = false;

                            break;

                        case SmsManager.RESULT_ERROR_RADIO_OFF:

                            Toast.makeText(getContext(), "Radio off",

                                    Toast.LENGTH_SHORT).show();

                            isChecked = false;

                            break;

                    }

                    }

                }

            };

如果消息正确且您想要继续,或者如果消息是假的,请创建一段时间以进行欺骗。


查看完整回答
反对 回复 2022-08-17
  • 1 回答
  • 0 关注
  • 85 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信