`

Android 定时执行任务

 
阅读更多
本程序执行效果为:
隔3秒打印"收到广播"

package com.example.timingtest;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class AlarmReceiver extends BroadcastReceiver {
 
	@Override
	public void onReceive(Context context, Intent intent) {
		// TODO Auto-generated method stub
		System.out.println("收到广播");
	}
}


package com.example.timingtest;

import java.util.Calendar;

import android.os.Bundle;
import android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.view.Menu;

public class MainActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Calendar c=Calendar.getInstance();
 
        Intent intent=new Intent(this,AlarmReceiver.class);
        PendingIntent pi=PendingIntent.getBroadcast(this, 0, intent,0);
        //设置一个PendingIntent对象,发送广播
        AlarmManager am=(AlarmManager)getSystemService(ALARM_SERVICE);
        //获取AlarmManager对象
        am.set(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), pi);
 
        //时间到时,执行PendingIntent,只执行一次
        //AlarmManager.RTC_WAKEUP休眠时会运行,如果是AlarmManager.RTC,在休眠时不会运行
        am.setRepeating(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), 3000, pi);
        //如果需要重复执行,使用上面一行的setRepeating方法,倒数第二参数为间隔时间,单位为毫秒
 
    }
}


<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.timingtest"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="15" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/title_activity_main" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <receiver android:name=".AlarmReceiver" android:process=".abc"/>
    </application>

</manifest>
分享到:
评论

相关推荐

    Android定时执行任务总结demo

    本文将基于“Android定时执行任务总结demo”进行深入探讨,讲解如何在Android系统中设置定时任务。 首先,Android提供了多种定时任务的实现方式,包括`AlarmManager`、`Handler`、`ScheduledExecutorService`以及...

    Android 下实现定时执行任务

    在Android平台上,定时执行任务是常见的需求,例如自动发送消息、更新应用数据或者像这个例子中的自动拨打电话。实现这样的功能通常涉及到Android的AlarmManager服务和IntentService组件。接下来,我们将详细探讨...

    Android定时重复任务demo

    创建一个`Runnable`对象并在`Handler`的`postDelayed()`方法中指定延迟时间,可以实现定时执行任务。然而,这种方法并不适合长时间或跨组件的任务,因为它依赖于主线程的消息循环。 在"AlarmServiceDemo"这个压缩包...

    android定时器实现每天定时执行任务.rar

    本压缩包文件"android定时器实现每天定时执行任务.rar"可能包含了一个示例项目,用于演示如何在Android中设置每日定时任务。 首先,Android中的定时器(java.util.Timer)并不是线程安全的,也不推荐在Android中...

    Android实现定时任务及闹钟

    android中定时有很多种是实现,常见的Handler 与Thread的结合,handler.postDelayed ,以及要使用的AlarmManger 等都可以实现定时任务的执行,但是使用场景却大不相同,这里主要是怎么用AlarmManager实现定时任务。...

    Android中定时执行任务的3种实现方法(推荐)

    3. 使用Timer的`schedule(TimerTask, long, long)`方法设置定时执行任务。 示例代码: ```java final Timer timer = new Timer(); TimerTask task = new TimerTask() { @Override public void run() { Message ...

    (动态多)定时任务源码自动运行调度后台执行

    6、android 后台定时执行任务 示例源码 7、C# Quatrz定时任务job实现 8、Quartz.NET定时任务框架实例(移植Quartz.Net定时任务框架,实现可配置的执行定时任务) 9、spring+quartz动态定时任务创建 +mybatis(包含...

    android 延时或重复执行任务

    它支持精确到毫秒级的定时,并且有`ELAPSED_REALTIME`、`RTC`、`RTC_WAKEUP`等多种触发类型,其中`RTC_WAKEUP`会在指定时间唤醒设备执行任务。然而,`AlarmManager`的使用需要考虑电池效率,过度使用可能会导致电量...

    Android-TimeTask是一个轻量简洁的定时任务队列框架

    在Android开发中,高效地管理后台任务是至关重要的,尤其是定时任务。`Android-TimeTask`就是这样一款专为Android设计的轻量级、简洁的定时任务队列框架。它旨在简化多组任务的分发和管理工作,使开发者能够更加专注...

    TimerTask执行每日定时任务

    你需要创建`TimerTask`的子类,并重写其`run()`方法,这个方法包含了你想要定时执行的业务逻辑。例如: ```java class DailyTask extends TimerTask { @Override public void run() { // 在这里编写你的每日任务...

    Android定时任务

    Android中定时任务,代码已封装好了,只需要在run()里写自己要执行的任务即可.

    安卓 开启service每分钟执行一次任务 模拟定时 或者定时任务

    再开始之前我们还是先介绍下service吧:此处用的是IntentService,至于和常规的service有什么区别呢? 有了Service为什么还要有个IntentService呢? 原因如下: 1)Service默认运行在主线程中,IntentService运行在一个...

    android 闹钟定时任务 AlarmManager

    总之,`AlarmManager`是Android开发中实现定时任务的关键工具,通过合理使用它可以实现各种定时功能,但需注意系统版本差异和电源管理策略。`AlarmManagerDemo`项目提供了实践这些概念的实例,帮助开发者更好地理解...

    Alarm.7z,Android定时任务

    标题"Alarm.7z,Android定时任务"表明这是一个与Android平台上的定时任务相关的项目或库,可能包含了实现这一功能的相关代码和资源。 在Android中,主要使用以下几种方式来实现定时任务: 1. **AlarmManager**: 这...

    android定时开关机或重启的代码

    总结来说,实现Android定时开关机或重启功能需要结合BroadcastReceiver、Service、AlarmManager和权限管理等知识,同时需要注意安全性和设备兼容性。通过对这些概念的理解和实践,可以开发出满足特定需求的解决方案...

    Android 定时任务过程详解

    在Android开发中,通过以下三种方法定时执行任务: 一、采用Handler与线程的sleep(long)方法(不建议使用,java的实现方式) 二、采用Handler的postDelayed(Runnable, long)方法(最简单的android实现) 三、采用...

    android 定时关机 重启

    - 实现定时关机通常需要创建一个定时任务,例如使用AlarmManager配合BroadcastReceiver。设定一个未来的闹钟时间,当闹钟触发时,通过执行shell命令来实现关机。命令通常是`"echo '0' &gt; /sys/power/state"`,这会...

    Android \定时执行

    ### Android 定时执行:利用 AlarmManager 进行任务调度 在 Android 开发过程中,有时候我们需要应用程序能够在特定的时间点或周期性地执行某些任务。为了实现这一需求,Android 提供了 `AlarmManager` 类,它可以...

    安卓后台定时任务

    AlarmManager 是 Android 系统提供的一个服务,可以用来安排应用程序在未来某个时间点执行任务。它可以设置一次性任务,也可以设置周期性任务。AlarmManager 的触发时间精确度取决于设备的硬件和系统状态,但通常能...

    6.2 创建定时和周期任务

    通过创建一个Handler实例并将其与Looper关联,我们可以发送延迟的消息或Runnable对象,从而实现定时执行任务。例如,我们可以通过`postDelayed(Runnable r, long delayMillis)`方法来安排一个Runnable在特定时间后...

Global site tag (gtag.js) - Google Analytics