在接收短信时,需要避免出现死循环。以下是示例代码:
public class SmsReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Bundle extras = intent.getExtras();
if (extras != null) {
Object[] pdus = (Object[])extras.get("pdus");
for (int i = 0; i < pdus.length; i++) {
SmsMessage sms = SmsMessage.createFromPdu((byte[]) pdus[i]);
String messageBody = sms.getMessageBody();
String messageSender = sms.getOriginatingAddress();
//在这里添加处理短信的逻辑
}
}
}
}
这个接收器将会在每条短信到达时调用onReceive()方法。通过这种方式处理短信时,就不会出现死循环了。