`

类似的Timer循环服务设计

 
阅读更多

 <service android:name=".mService1" android:exported="true" android:process=":remote" ></service>

 


/* 自定义mService类继承Service类 */
public class mService1 extends Service
{
  /* 建立Handler对象,作为线程传递 postDelayed之用 */
  private Handler objHandler = new Handler();
 
  /* 为确认系统服务执行情况 */
  private int intCounter=0;
 
  /* 成员变量mTasks为Runnable对象,作为Timer之用 */
  private Runnable mTasks = new Runnable()
  {
    /* 执行线程 */
    public void run()
    {
      /* 递增counter整数,作为后台服务运行时间识别 */
      intCounter++;
     
      /* 以Log对象LogCat里输出log信息,监看服务执行情况 */
      Log.i("HIPPO", "Counter:"+Integer.toString(intCounter));
     
      /* 每1秒调用Handler.postDelayed方法反复执行 */
      objHandler.postDelayed(mTasks, 1000);
    }
  };
 
  @Override
  public void onStart(Intent intent, int startId)
  {
    // TODO Auto-generated method stub
    super.onStart(intent, startId);
  }

 

  @Override
  public void onCreate()
  {
    // TODO Auto-generated method stub
    /* 服务开始,调用每1秒mTasks线程 */
    objHandler.postDelayed(mTasks, 1000);
    super.onCreate();
  }
  
  

  @Override
  public void onDestroy()
  {
    // TODO Auto-generated method stub
   
    /* 当服务结束,移除mTasks线程 */
    objHandler.removeCallbacks(mTasks);
    super.onDestroy();
  } 
}

1
2
分享到:
评论
2 楼 白云天 2012-09-24  
用 Handler 和 Runnable 可实现定时、反复运行,此时, Handler 相当于 Timer 或者 Thread , Runnable 是具体执行代码,代码在  Handle 所属的 Thread 空间总运行。
1 楼 白云天 2012-09-17  
在一个Activity 内部可以调用:

Intent i = new Intent( EX06_04.this, mService1.class );
startService(i);

来启动一个 服务, 注意:此 Service 要在
AndroidManifest.xml  中声明,如下:
<service android:name=".mService1" android:exported="true" android:process=":remote" ></service>

相关推荐

    PSOC timer8 设计实例

    在本文中,我们将深入探讨基于 Cypress PSOC (Programmable System on Chip) 的 Timer8 设计实例。PSOC Designer 是 Cypress 提供的一款强大的集成开发环境,用于创建和配置 PSOC 芯片上的可编程逻辑和模拟组件。在...

    vb图片自动循环播放

    在VB(Visual Basic)编程环境中,我们可以利用PictureBox控件和Timer控件来创建一个图片自动循环播放的功能。这个程序设计适合于展示一系列图片,比如幻灯片、动态图像或者简单的动画效果。以下将详细讲解如何实现...

    MsTimer2.rar

    1. **精确性**:MsTimer2使用中断服务来触发定时事件,相比于基于`millis()`的轮询方式,其定时精度更高,不会因为主循环的执行时间而受到影响。 2. **可配置性**:你可以设置定时器的周期,最小单位可以到微秒级别...

    基于51单片机的数字时钟60分钟循环计时设计

    ### 基于51单片机的数字时钟60分钟循环计时设计 #### 知识点一:51单片机简介及其在数字时钟中的应用 51单片机是一种广泛应用于各种电子设备中的微控制器,它以其成本低廉、结构简单、易于编程等特点而深受开发者...

    5 Timer2定时器中断_c8051f340_TIMER2定时器中断_

    此外,TIMER2还可以通过编程配置为自动重装载模式,这样在溢出时会自动加载初值,持续循环计数。 2. TIMER2中断: 当TIMER2达到预设的计数值或者在特定的比较匹配时,会产生中断请求。中断请求可以通过中断向量表中...

    基于单片机的TIMER0控制流水灯设计

    4. 主程序循环:在主循环中,可能需要处理其他任务,但主要依赖中断服务程序来更新流水灯状态。 六、优化与拓展 在基本的TIMER0控制流水灯设计基础上,还可以进行各种优化和功能扩展,如调整流水速度、添加花式效果...

    Timer弹出随机窗口

    标题中的“Timer弹出随机窗口”指的是在编程中使用Timer控件来实现一个定时触发的事件,这个事件会周期性地弹出不同...在实际编写类似程序时,应当注意合理控制循环,提供友好的用户交互,避免对系统资源造成过大负担。

    timer 应用小实例

    这个小实例将展示如何利用`Timer`控件来实现动态的图片更换,从而达到类似动画的效果。`Timer`控件允许程序在预定的时间间隔内触发事件,这种定时触发的能力为开发者提供了很多创意空间。 首先,我们要了解`Timer`...

    不依赖窗口的单线程Timer

    标题提到的“不依赖窗口的单线程Timer”是一种特殊类型的计时器,它并不依赖于Windows消息循环中的WM_TIMER消息来工作。这种设计可以提供更灵活的计时器使用方式,尤其是在不需要创建和管理窗口的场景下。 首先,...

    C#图片循环幻灯片播放

    在设计视图中,可以先删除默认的控件,然后添加一个PictureBox控件,用于显示图片。设置PictureBox的SizeMode属性为"StretchImage",这样图片可以自动适应控件大小。 接下来,我们需要编写代码来读取图片并实现循环...

    结合节能灯,彩灯循环,抢答器,声控闪光灯的电子技术课程设计

    本电子技术课程设计主要涵盖了四个部分:楼道触摸延时节能灯设计、声控闪光电路设计、彩灯循环显示电路设计和抢答器设计。下面,我们将对每个部分的设计要求和技术要点进行详细的解释和分析。 一、楼道触摸延时节能...

    APB_timer.pdf

    在本作业中,设计了一个挂载在APB(Advanced Peripheral Bus)总线上的计数器模块,并且通过一系列步骤和代码设计完成了一个可配置的计数器。...这些内容的详细掌握对于进行类似的硬件设计和仿真分析工作至关重要。

    时钟Timer钟表Timer

    时钟Timer的工作原理通常是基于操作系统提供的计时器服务。当设置一个Timer后,它会在指定的时间间隔(如毫秒、秒或分钟)到达时触发一个回调函数或者事件。这个过程通常涉及到线程调度,因为Timer的触发通常需要在...

    MsTimer2.zip

    这个库是为Arduino平台设计的,用于提供精确的定时功能,它扩展了Arduino原生的定时器功能,使得开发者能够创建毫秒级的定时任务,非常适合于那些需要精确时间控制的应用场景。 在Arduino编程中,原生的`delay()`...

    timer实现倒计时

    2. **setInterval**: 和`setTimeout`类似,`setInterval`会在给定的时间间隔后反复执行某个函数。语法如下: ```javascript setInterval(callback, interval); ``` `callback`同样是执行的函数,而`interval`则...

    timer定时运行某段代码(源码,支持VS08版及以上)

    `System.Windows.Forms.Timer`的工作原理是基于消息循环的,它的`Tick`事件会在间隔时间到达时触发。下面是一个简单的`Timer`使用示例: ```csharp using System; using System.Windows.Forms; public class ...

    用C#语言实现的图片循环播放

    首先,我们需要了解C#的基础知识,它是一种面向对象的编程语言,由微软公司开发,广泛应用于Windows应用程序、游戏开发和Web服务。在VS2008中,我们可以使用Windows Forms或WPF(Windows Presentation Foundation)...

    图片循环播放,可设置循环播放时间

    在IT领域,图片循环播放是一种常见的应用场景,例如在广告轮播、幻灯片展示或UI设计中。这个开源代码提供了一种解决方案,允许用户自定义播放时间、控制播放循环以及调整布局以适应不同的需求。 首先,"图片循环...

    C# 图片循环滚动

    在本文中,我们将深入探讨如何使用C#编程语言实现一个图片循环滚动的功能,这通常用于电子相册、广告展示或动态界面设计等场景。我们将讨论关键的编程概念和技术,包括文件操作、图像处理以及时间触发的事件循环。 ...

    LABVIEW循环定时程序

    这种程序设计模式允许用户重复执行特定任务,并根据预设的时间间隔或条件来控制循环的运行。在本篇文章中,我们将深入探讨LabVIEW中的循环结构,以及如何利用它们来创建精确的定时功能。 首先,LabVIEW中的基本循环...

Global site tag (gtag.js) - Google Analytics