【问题标题】:Android: which kind of Broadcast/Receiver combination should I use?Android:我应该使用哪种广播/接收器组合?
【发布时间】:2016-12-05 02:09:01
【问题描述】:

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

用户操作示例:

  1. 用户点击按钮,设置初始计时器(警报)
  2. 定时器已到,触发动作并重新设置定时器
  3. 重复直到运行 x 分钟

【问题讨论】:

    标签: android android-intent android-broadcast intentservice android-broadcastreceiver


    【解决方案1】:
    1. 当用户点击按钮时设置闹钟为

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

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

    并间隔做同样的事情需要多长时间。

    这里的操作是您需要执行的意图,就像它可能是一个活动或服务一样,您可以将其定义为

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

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

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

    明确删除
      cancel(AlarmManager.OnAlarmListener). 
    

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

    【讨论】:

      【解决方案2】:

      Android JobScheduler

      你可以在网上找到很多教程。

      【讨论】:

      • 这个需要的 api 杠杆 > 21. 对于其他你可以有 alarmManager。
      • 有趣!我不知道这件事 - 我会调查一下,谢谢!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多