Articles of 计时器

手机屏幕锁定后,Android计时器嘀嗒嘀嗒

我有一个在一个方法中运行TimerTask的服务,它必须每秒计数并在一段时间后执行某些操作。 我的服务正常工作,当我启动服务方法时,计时器开始每隔一秒(1000毫秒)打勾。 问题是,当设备的屏幕关闭时,我的计时器有时停止并且计数不正确。 我可以在日志文件中看到计时器停止15秒,然后运行5秒,然后再次停止…当设备连接到计算机时,计时器始终正常工作,当我从计算机断开设备时会出现此问题。 这是我的服务: public class MyService extends Service { private String TAG = getClass().getName(); public void count() { Log.i(TAG, “Service Count Method Start”); int counter; Timer mTimer = new Timer(); mTimer.schedule(new TimerTask() { @Override public void run() { Log.i(TAG, “Timer count value : ” + counter); if (!someCondition) { counter++; if (DefaultApplication.notOnDisplayTime >= […]

如何确定Timer任务是否已完成

我有以下代码: Timer timer = new Timer(); TimerTask task = new TimerTask() { @Override public void run() { // TODO Auto-generated method stub } }; timer.schedule(task, 10000);//execute after 10 seconds 我们可以确定任务是否已经由计时器执行或者是否仍然有效?

如何在Android上暂停handler.postDelayed()计时器

如何使用按钮暂停handler.postDelayed()计时器。 因此,当我再次单击相同的按钮时, handler.postDelayed()计时器应该恢复。 handler.postDelayed(counterz, 60);

取消后,Android重新启动计时器

我的应用程序中有一个计时器,每隔15秒启动一次AsyncTask。 Timer timer = new Timer(); public void AsynchTaskTimer() { final Handler handler = new Handler(); TimerTask timertask = new TimerTask() { @Override public void run() { handler.post(new Runnable() { public void run() { try { new updateGPSTask().execute(); } catch (Exception e) { // TODO Auto-generated catch block } } }); } }; timer.schedule(timertask, 0, […]

Java – Timer.cancel()v / s TimerTask.cancel()

在我的Android应用程序中,我运行一个计时器并在其他一些事件上取消它: class MyTimerTask extends TimerTask { override boolean cancel() { … } override void run() { … } } … Timer t = new Timer(); t.schedule(new MyTimerTask(),…) … t.cancel(); 我期待t.cancel()自动调用MyTimerTask的cancel()方法。 但是从不调用该方法。 我想知道这两种方法之间究竟有什么不同,以及为什么第二种方法不能自动调用。

Timer()作为守护进程与非守护进程

//Creates a new Timer which may be specified to be run as a daemon thread. Timer(boolean isDaemon) //Creates a new non-daemon Timer. Timer() 什么时候应该在Android应用程序中作为守护进程启动计时器? 文档没有说明它。 http://developer.android.com/reference/java/util/Timer.html

处理程序或计时器android

我试着每1分钟显示一次消息! 不停! 我发现在固定延迟后只显示一次msg的例子! 你能帮忙怎么设置它? 或者如果使用计时器是更好的工作方式,我需要一个例子! public class TimertestActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); Handler handler = new Handler(); handler.postDelayed( new Runnable() { public void run() { afficher(); } }, 1000L); } public void afficher() { Toast.makeText(getBaseContext(), “test”, Toast.LENGTH_SHORT).show(); } } […]

Android每X秒运行一次服务线程

我想在Android服务中创建一个每X秒运行一次的线程 我目前正在使用,但postdelayed方法似乎真的滞后我的应用程序。 @Override public int onStartCommand(Intent intent, int flags, int startId){ super.onStartCommand(intent, flags, startId); startRepeatingTask(); return startId; } private final static int INTERVAL = 20000; //20 milliseconds Handler m_handler = new Handler(); Runnable m_handlerTask = new Runnable() { @Override public void run() { // this is bad m_handler.postDelayed(m_handlerTask, INTERVAL); } }; void startRepeatingTask() { m_handlerTask.run(); […]

Android我可以使用多少个线程?

我有一个Android应用程序,它有单独的东西,但基本上都是线程(绝对是Android调试器的线程) 有多个animation侦听器可以相互循环和调用 倒计时器在启动后总是倒计时到零 现在我需要考虑添加更多的倒计时器。 我可以进行多少这种循环过程? 在这个特定的实现中,我不关心性能,效率等,直到它变得明显。 洞察力赞赏

Android中的定时popup窗口

我正在为Android创建匹配游戏,当用户获得匹配时,会popup一个对话框,说“匹配!” 我无法弄清楚如何做到这一点。 如果我使用Thread.currentthread()。sleep,则对话框永远不会出现。 android.app.AlertDialog a = new android.app.AlertDialog.Builder(match.this).setTitle(“Match!”).show(); Thread.currentthread().sleep(1000); a.dismiss(); 什么都没发生 – 程序只挂了一秒钟。 我希望它只popup一秒钟,或者如果有另一种popup式的东西,这也会很好。