Я хотел бы зарегистрировать приемника вещания в Деятельности A и отменить его регистрацию в Деятельности B.
У меня есть этот код, который является статическим:
private static BroadcastReceiver smsReceiver;
public static void registerSMSBR(Context context){
smsReceiver = new SmsReceiver();
IntentFilter filter = new IntentFilter();
filter.addAction("SMS_RECEIVED");
context.registerReceiver(smsReceiver, filter);
}
public static void unregisterSMSreceiver(Context context){
if(smsReceiver != null){
context.unregisterReceiver(smsReceiver);
}
}
Я добавил правильное разрешение и звоню registerSMSBR(context);
в деятельности А и
unregisterSMSreceiver(context);
в занятии Б.
Проблема в том, что «unregisterSMSreceiver (context)» не отменяет регистрацию, а onReceive по-прежнему запускается для нового смс-сообщения.
Что я делаю не так?