Android:我应该使用哪种 Broadcast/Receiver 组合?

Android: which kind of Broadcast/Receiver combination should I use?

在我的应用程序中,我想启动一个计时器,该计时器每 x 分钟触发一次操作,无论用户当前是否在应用程序中。我一直在四处阅读,但不确定应该使用哪种广播和接收器类型的组合 - 任何指导都会有所帮助。

用户操作示例:

  1. 用户点击一个按钮,设置初始计时器(闹钟)
  2. 计时器到达,触发动作并再次设置计时器
  3. 重复直到 运行 x 分钟

Android JobScheduler

网上可以找到很多教程。

  1. 当用户点击按钮时设置闹钟为

    AlarmManager am = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
    am.setRepeating (AlarmManager.Type, 
             long triggeringtime, 
             long interval, 
             PendingIntent operation);
    

这里的 triggeringtime 是采取行动的时间

并间隔执行相同操作需要多长时间。

此处的操作是您需要执行的 Intent,就像它可能是 activity 或服务一样,您可以将其定义为

    operation = PendingIntent.getActivity( context, 0, intent or service, 0);

2 和 3 步将连续 运行 这就是警报管理器所做的。

此警报会继续重复,直到用

明确删除
  cancel(AlarmManager.OnAlarmListener). 

我是初学者,如果我错了,请见谅。希望对您有所帮助!