我希望我的应用程序具有静态广播接收器,因为我希望它在应用程序关闭时能够检测到传入消息。我已在清单中添加了
<receiver android:name=".SMSReceiver"
android:exported="true"
android:enabled="true">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
现在我希望它通过开关动态注销。当开关关闭时,它显示未检测到传入的SMS。我该怎么做。请帮助我
答案 0 :(得分:0)
由于您无法动态更改清单内容。
您可以使用共享首选项将开关状态存储为true或false。
然后在onRecieve
中,从首选项中获取状态,然后仅在状态为true时执行操作,否则不执行。
答案 1 :(得分:0)
您可以在清单注册的接收器中检查配置值,并且在适当时不执行任何操作。示例:
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (myBroadcastReceierIsOff) {
return;
}
(...)
}
}