一段时间后如何启动TimerTask的第一个任务

时间:2014-04-29 13:20:13

标签: android

我有以下TimerTask代码:

package com.shadow.screentimeout;

import java.util.Timer;
import java.util.TimerTask;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;
import com.shadow.screentimeout.R;

public class Notification extends Activity {
/** Called when the activity is first created. */

Timer timer;
Toast toast;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

timer = new Timer();
toast = Toast.makeText(getApplicationContext(), "10 seconds after",Toast.LENGTH_SHORT);

timer.scheduleAtFixedRate(new TimerTask() 
{
@Override
public void run() {
toast.show();
Log.v("ScreenTimeOut","Toast showed");
}
}, 0, 10000);
}
}

我希望在调用/启动活动10秒后获取吐司,并在第10秒之后获取下一个吐司消息,依此类推。

但是无论何时调用/启动活动,我都会在活动开始后立即收到第一个Toast消息。 我想要10秒后的第一条消息。 我怎么能得到它?

1 个答案:

答案 0 :(得分:0)

您正在安排延迟为0.更改为:

timer.scheduleAtFixedRate(new TimerTask() {
    @Override
    public void run() {
        toast.show();
        Log.v("ScreenTimeOut","Toast showed");
    }
}, 10000, 10000);  // First 10000 is delay