Android:Timer定时器
2012-09-17 15:21
393 查看
1. Handler+Runable
private Handler mHandler = new Handler(); //解析远程XML,下载和安装APK private Runnable mRunnable = new Runnable() { private volatile boolean isParsingXml = false; public boolean isParsingXml() { return isParsingXml; } public void setParsingXml(boolean isParsingXml) { this.isParsingXml = isParsingXml; } public void run() { if(!isParsingXml) { // 检查WIFI是否连接上AP ConnectivityManager conMan = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); mWifi = conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI) .getState(); if (mWifi == State.CONNECTED) { String xmlUrl = Constants.Url.SERVER_URL_APP_LIST_XML; try { isParsingXml = true; mHandler.removeCallbacks(mRunnable); //stop timer ParseXmlAndProcess(xmlUrl); } catch (XmlPullParserException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } mHandler.postDelayed(this, 60000);//start timer } } };2. Thread+Handler
private volatile boolean isHandlingMessage = false; private Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); if(!isHandlingMessage) { isHandlingMessage = true; Log.v(TAG, "handling Message."); SaleMgrService.updateAppRunCount(); isHandlingMessage = false; } } };
private class RunCountThread extends Thread { public void run() { super.run(); Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_BACKGROUND); while(true) { try { Thread.sleep(90000); if(!isHandlingMessage) { Message msg = new Message(); msg.what = 1; mHandler.sendMessage(msg); } } catch(InterruptedException e) { e.printStackTrace(); } } } }
相关文章推荐
- Android学习指南之三十四:Android定时器Timer的使用
- Android中定时器Timer和TimerTask的启动,停止,暂停,继续等操作实例
- Android 程序后台运行时Timer定时器不启用
- Android中的定时器Timer、AlarmManager、CountDownTimer的使用
- Android中Timer定时器的使用
- android 再谈定时器 timer 每秒更新一次!
- Android中定时器Timer和TimerTask的启动,停止,暂停,继续等操作实例
- Android 谨慎使用Timer定时器
- Android -- 视频音频多媒体播放,在线播放, MediaPlayer, SurfaceView, SoundPool, Timer定时器使用
- Android定时器Timer
- android 定时器 Timer 使用 及其遇到的问题
- Android中定时器Timer和TimerTask的启动,停止,暂停,继续等操作实例
- Android中定时器Timer和TimerTask的启动,停止,暂停,继续等操作实例
- Android程序中使用定时器Timer
- Android中使用定时器TimerTask类介绍
- Android 定时器Timer例子
- android 中定时器Timer 和AlarmManager 的区别
- Android中定时器Timer和TimerTask的启动,停止,暂停,继续等操作实例
- Timer---Android 定时器的三种实现
- Android关于定时器Timer的定义及用法