0

我想知道是否可以激活 BroadcastRecievers onRecieve 方法以在按下按钮后仅在有限时间内激活接收短信?

我不希望它一直处于活动状态,并与我的消息传递应用程序发生冲突。

我创建了一个类“公共类 SmsReciever 扩展了 BroadcastReceiver”并在清单中定义了接收者:

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

1 回答 1

2

如果要临时激活 BroadcastReceiver,则不应在清单中定义接收器。您应该在代码中注册接收器:

IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("android.provider.Telephony.SMS_RECEIVED"); // I don't know where in the Android SDK this string defined

BroadcastReceiver receiver = new SmsReciever();
registerReceiver(receiver, intentFilter);

并在不再需要时取消注册接收器:

unregisterReceiver(receiver);
于 2012-05-17T12:47:16.510 回答