【问题标题】:How to create a timer in android programmaticaly?如何以编程方式在android中创建计时器?
【发布时间】:2016-11-21 04:38:54
【问题描述】:

我想在 android 中创建一个意图,它转到计时器应用程序并直接输入数字。我试过这段代码,但它只启动计时器应用程序,而不是输入数字。

Intent intent = null;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
      intent = new Intent(AlarmClock.ACTION_SET_TIMER);

      intent.putExtra(AlarmClock.EXTRA_HOUR,hour);
      intent.putExtra(AlarmClock.EXTRA_MINUTES,minutes);
      intent.putExtra(AlarmClock.EXTRA_SKIP_UI,true);
      startActivity(intent);
}

你有什么想法吗?

感谢您的每一个回复。

【问题讨论】:

  • 我投票决定将此问题作为离题结束,因为在文档中没有明确涵盖的答案中没有可以添加的内容。
  • 哦,是的,对不起。我以前没有看过这个文档。谢谢。

标签: java android timer clock alarm


【解决方案1】:

AlarmClock.EXTRA_HOURAlarmClock.EXTRA_MINUTES 用于 AlarmClock.ACTION_SET_ALARM

AlarmClock.ACTION_SET_TIMER 仅支持额外的AlarmClock.EXTRA_LENGTHAlarmClock.EXTRA_MESSAGEAlarmClock.EXTRA_SKIP_UI


我想你不想创建一个计时器(也就是一个从开始算起的秒数的计数器),而是你想创建一个倒计时。为此,我会使用 CountDownTimer: https://developer.android.com/reference/android/os/CountDownTimer.html

您甚至可以将其嵌入到您自己的应用中,而无需启动外部时钟应用。

【讨论】:

  • 如何停止使用AlarmClock.ACTION_SET_TIMER启动的计时器?
【解决方案2】:

从文档here 可以看出,标志ACTION_SET_TIMER 没有您尝试用作可选请求参数的标志。对于您正在使用的那些,您应该设置 ACTION_SET_ALARM 标志。

【讨论】:

  • 如何停止使用AlarmClock.ACTION_SET_TIMER启动的计时器?
猜你喜欢
  • 2017-12-28
  • 1970-01-01
  • 2016-04-05
  • 2011-09-24
  • 1970-01-01
  • 2011-11-11
  • 2014-11-17
  • 1970-01-01
  • 2020-02-21
相关资源
最近更新 更多