我有一个广播接收器类,我想连接到主活动类中的广播接收器,以便调用最初称为广播接收器CLASS的方法。
我一直在努力寻找如何做到这一点,而且我认为我过度复杂化了。我在主活动类中看到了一些关于使用registerReceiver的内容,但我认为这不是我想要的。
这是代码设置,以防我感到困惑。
MainActivity.class
public class MainActivity extends AppCompatActivity {
BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
restartAlarm();
}
}
private void restartAlarm(){
//Do some stuff and call the RecursionReceiver class
}
}
RecursionReceiver.class
public class RecursionReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//Somehow call the broadcast receiver in the main class
}
}
编辑:我将提供更多细节。
我要做的是设置一个警报,该警报将在某个点触发,这将调用广播接收器类。该类应依次调用重置警报方法,该方法将重置警报。
不,我不能用我想要的重复闹钟。这是因为我正在设置另一个需要此警报的警报。另一个警报将设置为在某个时间触发,加上或减去一个随机的毫秒数。它不应该以相同的间隔触发。但是,我需要在同一段时间后开始。因此,如果我在每天下午6点触发该警报并且想要偏移+或 - 60000毫秒(一分钟),则警报将在边界内触发。我已经完成了这个,但我需要一种方法在所需的时间重置警报,而不是在触发时间。另外,我需要重做计算来改变偏移时间。
我对此的解决方案是有第二个警报,除了调用偏移警报应该重置时启动两个警报的方法之外什么都不做。如果有更简单的方法来设置第二个实用程序警报,请告诉我。否则,我对如何从广播接收器类中调用活动类中的方法感到困惑。
我发现的解决方案说我需要使用registerReceiver并在activity类中有一个BroadcastReceiver。然后我可以从警报调用的接收器激活接收器,并从接收器调用与该方法相同的类中的方法。但是代码没有任何解释,它让我很困惑。
我对如何使接收器在课堂内工作感到困惑。我让外部广播接收器工作,但不是本地接收器。