我有以下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秒后的第一条消息。 我怎么能得到它?
答案 0 :(得分:0)
您正在安排延迟为0.更改为:
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
toast.show();
Log.v("ScreenTimeOut","Toast showed");
}
}, 10000, 10000); // First 10000 is delay