猿问

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

我不得不使用,


 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;

                    }

                }

            };

如何暂停执行发送代码,直到第一次发送短信成功?


慕妹3146593
浏览 157回答 1
1回答

胡说叔叔

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;                    }                    }                }            };如果消息正确且您想要继续,或者如果消息是假的,请创建一段时间以进行欺骗。
随时随地看视频慕课网APP

相关分类

Java
我要回答