为什么 onReceive() 不断被调用?

Why onReceive() keeps getting called?

我希望我的应用程序在收到短信时发送短信,我成功了。问题是一旦收到 1 条短信,它就不会停止发送它们。

好像一直在调用 onReceive() 方法。

我希望它每收到 1 条短信就发送 1 条短信。

/******************************************** **********************************/

广播接收器class

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.telephony.SmsManager;

public class SMSListener extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        SmsManager smsManager = SmsManager.getDefault();
        smsManager.sendTextMessage("031130130", null, "sms text", null, null);
    }
}

/******************************************** *********************************/

/******************************************** *******************************/

主要活动

broadcastReceiver = new SMSListener() {
            @Override
            public void onReceive(Context context, Intent intent) {
                if(intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED") && intent.getExtras() != null){
                    try{
                        doStuffsIfStolenOnce();
                    }catch (Exception e){
                        Toast.makeText(Running.this,"Something went wrong:" + e.getMessage(),Toast.LENGTH_LONG).show();
                    }
                }
            }
        };
        IntentFilter myFilter = new IntentFilter("android.provider.Telephony.SMS_RECEIVED");
        registerReceiver(broadcastReceiver, myFilter);

/******************************************** *********************************/

在清单中添加了意图过滤器和权限

<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />

<receiver android:name=".SMSListener">
            <intent-filter>
                <action android:name="android.provider.Telephony.SMS_RECEIVED" />
            </intent-filter>
</receiver>

感觉问题很明显,但我找不到其他人有这个问题。

解决了我的问题!事实证明这是我的愚蠢错误,我在我的 phone(真实设备)上测试应用程序并且我没有第二个 phone 来发送 "request" 短信。所以我用我自己的 phone 发送初始短信和应用程序,工作正常,发回一个,但这意味着它会向自己发送一条短信,一旦收到第二条短信,它就会继续发送另一条.. .它自己进入了一个很好的循环。