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();
}
}