Если я правильно понимаю ваш код, блок
if(switchNotification.isChecked()==true)
{
intent.putExtra("EnableNotification", 1);
Log.i("Security365","Notification is enabled.");
}
устанавливает EnableNotification
на 1
в используемом намерении от sendBroadcast
В вашем приемнике вещания у вас есть
int enableNotification = intent
.getIntExtra("EnableNotification", 1);
if (enableNotification == 0)
Serurity365Service.setEnableNotification(0);
Таким образом, он говорит, что нужно извлечь дополнительные EnableNotification
и, если значение отсутствует, вернуть значение по умолчанию 1
, и тогда вы никогда не введете свой оператор if (enableNotification == 0)
.
Чтобы убедиться, что ваш широковещательный приемник работает правильно, добавьте оператор записи в начале своего приемника в методе onReceive
.
EDIT
Также AndroidMANIFEST.xml
имеет тег <manifest>
, который объявляет package
.
Например
<manifest package="com.hello.world" ...
Когда вы объявляете получателя в манифесте, .
, как в .xReceiver
, означает, что xReceiver.java
должен находиться в пакете com.hello.world
.
Если вы находитесь в другой упаковке, укажите полное имя или относительное для package
, заявленное в <manifest
Подробнее здесь