Вам необходимо установить фильтр намерений, связанный с вашим получателем, в вашем файле manifest.xml следующим образом:
<receiver android:name="<fully qualified name of your receiver class>" android:label="@string/label">
<intent-filter>
<action android:name="package name + your action name" />
</intent-filter>
</receiver>
тогда, в своей деятельности, когда вы хотите позвонить своему получателю, вы просто
sendBroadcast( new Intent( "package name + your action name" ) );
А затем вы должны обновить свое приложение, но в потоке пользовательского интерфейса, чтобы изменить виджет:
final boolean checked = true;
runOnUIThread( new Runnable() {
public void run()
{
wifi.setChecked( checked ):
}
});
Но я полагаю, что ваш получатель является внутренним классом внутри активности (единственный способ получить ссылку на виджет). Таким образом, вместо регистрации вашего получателя через xml, вы должны зарегистрировать его через код.
Посмотрите на эту тему .
С уважением,
Stéphane