Android自动任务在特定时间

时间:2014-01-16 18:29:03

标签: android

我是Android开发的新手。我正在开发一个推特客户端。我想每天早上8点发一条推文。我想像闹钟一样设置时间表。我怎样才能做到这一点 ?如果你给我一些例子或其他资源,我会很高兴的。感谢。

3 个答案:

答案 0 :(得分:2)

以下是AlarmManager的一个示例:

private void daylyTask()
{
    daylyBR = new BroadcastReceiver() {
        @Override public void onReceive( Context context, Intent _ )
        {       
            //Do something
            Log.d(TAG, "daylyTask uitgevoerd.");
        }
    };

    getApplicationContext().registerReceiver( daylyBR, new IntentFilter("yourApp.blah") );


    daylyPendingIntent = PendingIntent.getBroadcast( getApplicationContext(), 0, new Intent("yourApp.blah"), 0 );

    GregorianCalendar cal = new GregorianCalendar();
    cal.set(GregorianCalendar.HOUR_OF_DAY, 0);
    cal.set(GregorianCalendar.MINUTE, 0);

    // set alarm to fire 5 sec (1000*5) from cal repeating every 86400000L ms (1 day)
    manager.setRepeating( AlarmManager. RTC_WAKEUP, cal.getTimeInMillis() + 5000L,  86400000L,  daylyPendingIntent );
}

答案 1 :(得分:1)

查看 AlarmManager

警报(基于AlarmManager类)为您提供了一种在应用程序生命周期之外执行基于时间的操作的方法。例如,您可以使用警报启动长时间运行操作,例如每天启动一次服务以下载天气预报。

答案 2 :(得分:0)

查找AlarmManager API。我用它来做你所描述的事情。

注意:警报管理器适用于您希望在特定时间运行应用程序代码的情况,即使您的应用程序当前未运行也是如此。对于正常的计时操作(刻度,超时等),使用Handler会更容易,也更有效。

http://developer.android.com/reference/android/app/AlarmManager.html