首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android调度任务,每天运行一次代码

android调度任务,每天运行一次代码
EN

Stack Overflow用户
提问于 2015-06-26 03:23:19
回答 1查看 581关注 0票数 0

我正在做一个小的android应用程序,我想有一些代码,每天早上6点运行一次当应用程序没有运行时,更新一些参数,并向用户发送通知,告诉他们进入应用程序。有人能告诉我做这件事的最好方法吗?

EN

回答 1

Stack Overflow用户

发布于 2015-06-26 03:30:07

您可以使用警报管理器、待定意图和广播接收器来执行此操作。此代码将每两小时唤醒设备一次:

代码语言:javascript
复制
    AlarmManager alarmManager = (AlarmManager)this.getSystemService(ALARM_SERVICE);
    Calendar cal = Calendar.getInstance();
    //set the alarms to start in the time period
    cal.add(Calendar.MILLISECOND,60000);
    Intent i = new Intent(this, AlarmBroadcastReceiver.class);
    PendingIntent getSqlUpdatesTimer = PendingIntent.getBroadcast(this, 0, i, 0);
    alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), 7200000, getSqlUpdatesTimer);

和你的广播接收器:

代码语言:javascript
复制
public class AlarmBroadcastReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent)
{
    if (intent != null) {

            PowerManager pm = (PowerManager)context.getSystemService(context.POWER_SERVICE);
            PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TAG);
            wl.acquire();

            //Some code to do your task

            wl.release();
    }

}
}

您还需要在Manifest中设置wakelock权限。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31059051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档