Android 当广播接收器激活时,如何更改按钮的视图?

Android 当广播接收器激活时,如何更改按钮的视图?,android,android-studio,broadcastreceiver,Android,Android Studio,Broadcastreceiver,在我的应用程序中,当广播接收器被激活时,我需要更改我的按钮视图。我曾尝试创建一个功能,启用按钮并在广播中激活它,但没有成功 主要活动: ''' ''' 广播 ''' ''当需要在事件发生时更新具有焦点的屏幕时,解决方案可以是使用反应模式,例如观察者模式。活动(观察者)可能会订阅广播接收器(可观察),当事件发生时,广播会将事件通知观察者。 public class MainActivity extends AppCompatActivity { private Button button,

在我的应用程序中,当广播接收器被激活时,我需要更改我的按钮视图。我曾尝试创建一个功能,启用按钮并在广播中激活它,但没有成功

主要活动: '''

'''

广播

'''


''

当需要在事件发生时更新具有焦点的屏幕时,解决方案可以是使用反应模式,例如观察者模式。活动(观察者)可能会订阅广播接收器(可观察),当事件发生时,广播会将事件通知观察者。
public class MainActivity extends AppCompatActivity {
    private Button button, StartAlarm;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button = (Button) findViewById(R.id.button);
        StartAlarm = (Button) findViewById(R.id.StartAlarm);
        button.setEnabled(false);
        final Intent intent = new Intent(MainActivity.this, Alarm.class);
        final PendingIntent pendingIntent= PendingIntent.getBroadcast(MainActivity.this, 0, intent,0);
        final AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);

        final long CurrentTimeMills = System.currentTimeMillis();
        final long Second = 3000;
        StartAlarm.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this, "Start Alarm", Toast.LENGTH_LONG).show();
                alarmManager.set(AlarmManager.RTC_WAKEUP, CurrentTimeMills + Second, pendingIntent);
            }
        });
    }
    public void ActivateButton() {
        button.setEnabled(true);
    }
}
public class Alarm extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
MainActivity mainActivity = new MainActivity();
mainActivity.ActivateButton();
}
}