我想在android中的后台每隔5分钟调用一次方法

时间:2011-05-10 09:57:58

标签: android

在此任务的朋友中,如果我关闭应用程序而不是在定义间隔后调用此方法,则必须在后台连续一段时间后调用方法

3 个答案:

答案 0 :(得分:2)

它可能对您有用:如何使用处理程序定期执行任务How to use a Handler to perform a task periodically。它比使用传统的TimerTask更有效。您可以在Service中执行此操作,因此如果您关闭应用程序,它仍会发生。

答案 1 :(得分:2)

如果您在关闭应用程序后需要运行任何东西,它就不能是您在应用程序中启动的线程,否则它自相矛盾地意味着您的应用程序尚未终止。

您必须使用系统服务。您需要使用的Android服务是AlarmManager。你会在Google上找到很多关于它的教程。

答案 2 :(得分:0)

使用此

private final Handler _handler = new Handler();
private static int DATA_INTERVAL = 5 * 60 * 1000;

private final Runnable getData = new Runnable()
{
    @Override
    public void run()
    {
        getDataFrame();
    }
};
private void getDataFrame() 
{
    _handler.postDelayed(getData, DATA_INTERVAL);
}

getDataFrame()将每5分钟调用一次,直到你不会杀死他_handler.removeCallbacks(getData);