Articles of 计时器

Android:在调用函数之前实现1秒间隔计时器

我想在重置游戏之前暂停1秒(resetGame())。 按下按钮后。 bAnswer1文本等于ansewrArray [0]。 在newQuestionTimer()中设置1秒延迟后,App力会关闭。 import java.util.Timer; import java.util.TimerTask; Timer timer = new Timer(); bAnswer1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub if(bAnswer1.getText().toString().equals(answerArray[0])) { bAnswer1.setBackgroundColor(Color.GREEN); newQuestionTimer(); } else { bAnswer1.setBackgroundColor(Color.RED); guess++; } } }); public void newQuestionTimer() { timer.schedule(new TimerTask() { @Override public void run() { resetGame(); } }, […]

Android计时器/ timertask导致我的应用程序崩溃?

只需在mainActivity的onCreate中测试一个简单的代码块: Timer timer2 = new Timer(); TimerTask testing = new TimerTask() { public void run() { Toast.makeText(mainActivity.this, “test”, Toast.LENGTH_SHORT).show(); } }; timer2.schedule(testing, 1000); 我收到了“强制关闭”错误。 是什么赋予了?

java.lang.IllegalStateException:已经调度了TimerTask:在Android中合理使用Timer和TimerTask

我编写了一个连接到服务器的应用程序,并向他发送ping命令,服务器用pong命令回答。 我想实现连接超时机制。 我想它将遵循: 客户端发送ping并启动定时器和延迟时间 当客户端收到pong时 ,timertask被取消。 另外,我想优化内存。 所以,每次发送ping命令时都不要重新创建TimerTask。 我尝试下面的代码: private final Timer mSystemLogoutTimer = new Timer(); private final TimerTask mLogoutTask = new TimerTask() { @Override public void run() { mMessageInterface.onConnectionTimeout(); cancel(); } }; private void ping() { sendRequest(RequestBuilder.formPing()); mSystemLogoutTimer.schedule(mLogoutTask, CoreConst.PING_ANSWER_DELAY); } private void onPong() { mLogoutTask.cancel(); } 但是在尝试第二次调度TimerTask时出现以下错误: java.lang.IllegalStateException: TimerTask is scheduled already at java.util.Timer.scheduleImpl(Timer.java:572) […]

如何检查计时器是否仍在运行?

我尝试在服务中发送短信。如果没有发送短信意味着我在一段时间后重新启动服务,为此我使用定时器。如果短信发送意味着我想停止定时器,为了停止定时器我使用定时器。取消(); 在此之前,我要检查计时器是否正在运行或不检查它。 int resultCode = getResultCode(); switch (resultCode) { case Activity.RESULT_OK: timer.cancel();//Here I want to check timer running or not break; case SmsManager.RESULT_ERROR_GENERIC_FAILURE: timer_run(); break; case SmsManager.RESULT_ERROR_NO_SERVICE: timer_run(); break; case SmsManager.RESULT_ERROR_NULL_PDU: timer_run(); break; case SmsManager.RESULT_ERROR_RADIO_OFF: timer_run(); break; } 定时器计划function public void timer_run(){ TimerTask hourlyTask = new TimerTask () { @Override public void run () { […]

android CountDownTimer – 最后onTick未调用 – 使用什么干净的解决方案?

沮丧的post…. 我偶然发现了许多人在这里报告的“CountDownTimer – 最后onTick not called”问题。 简单的演示显示问题 package com.example.gosh; import android.app.Activity; import android.os.Bundle; import android.os.CountDownTimer; import android.util.Log; public class CountDownTimerSucksActivity extends Activity { int iDontWantThis = 0; // choose 100 and it works yet … private static final String TAG = “CountDownTimerSucksActivity”; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); new MyCountDownTimer(10000 + iDontWantThis , […]

检查天文台表是否正在运行

android中的天文台如何检查天文钟是否正在运行或停止? 如果开始然后我想停止它,如果没有运行然后启动计时器。

如何在Android App中获取两个日期之间的时差?

我正在尝试实现一个时间计数器(从0开始计数),它基本上得到了保存的时间variables(startTime,它是在用户点击一个按钮后立即创建的)并减去当前时间(Calendar.getInstance()可能?这样结果就是两次之间的差异(HH:MM:SS)。 这个方法将在计时器的每个刻度上运行,以便文本视图每秒更新一次,有效地创建我的计时器。 现在,我采用这条迂回路线,因为这是我能够find的唯一方法,即使应用程序被杀,也可以节省时间。 这是因为startTimevariables在创建后立即保存到SharedPreferences,并且在每个Tick中,系统只需查找startTime和当前时间之间的差异即可在现场计算我的计时器。 现在,我已经尝试将我的startTime作为Calendarvariables并初始化为: Calendar startTime = Calendar.getInstance(); 接着 elapsedTime = startTime – Calendar.getInstance(); 但显然,这不起作用。 在一个用C#编写的类似项目中,我能够使用它,虽然使用了DateTimevariables……在Android中有这样的方法吗? 如果这太复杂了,是否有更好的方法来保存我的计时器进度? 谢谢,麻烦您了!

每隔几个小时运行一次任务

我有一个方法,即使用户没有重新打开应用程序,我也需要每隔几个小时运行一次。 什么是最好的方式? 我应该使用Timer类还是Alarm Manager? 谢谢!

计时器不会停在android中

在我的应用程序中,我想显示一个停止计时器手表。 当我在谷歌搜索时,我在开发者网站上find了一个名为Chronometer的选项。 它看起来就像一个停止计时器手表。 当我单击开始按钮时,我希望计时器开始,当我单击暂停按钮时,必须暂停计时器,一旦我点击它,它必须从它停止时开始。 但是在这个天文台里它从0开始,当我在1分10秒点击暂停时它会暂停。 当我再次点击再次启动5分钟后,计时器从6分钟开始计时10秒,即使暂停计时器正在运行,如何停止计时并在停止时恢复计时。 以下是我的天文台代码 Start = (Button)findViewById(R.id.widget306); Start.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { chronometer.start(); } }); Stop = (Button)findViewById(R.id.widget307); Stop.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { chronometer.stop(); } }); }

如何在Flutter App中处理onPause / onResume?

我是Dart / Flutter的新手,想建立一个简单的应用程序,其中LinearProgressBar每秒都会更新一次。 如果没有太多的实际代码,我有以下设置工作。 基于传递时间计算进度的函数。 显示进度的LinearProgressBar。 定期计时器每秒重新计算进度并更新进度条。 我每次都调试’tick’,重新计算完成。 一切都按预期工作,但有一个例外。 当我在Android设备的后台移动应用程序时,’tick’会继续打印。 在原生Android上,当触发’onPause’事件时,我会取消我的定期计时器。 Flutter有类似的东西吗? 我能find的只是’initState’和’dispose’。 但是,在将应用程序移动到背景时,不会调用Dispose。 我不希望计时器在后台继续滴答作响。 在我的研究中,我发现这个Stack Overflow问题onresume-and-onpause-for-widgets-on-flutter 。 它的答案建议使用TickerProviderStateMixin 。 我用下面的方法。 class _BarItemState extends State with SingleTickerProviderStateMixin { Ticker ticker; num progress = 1.0; @override void initState() { super.initState(); ticker = createTicker((duration) => setState(() { debugPrint(‘tick’); progress = duration.inSeconds / 30; })) ..start(); } // […]

Intereting Posts