我正在寻找一种方法来延迟我的应用程序创建和显示祝酒词。我使用了几个不同的间隔,最大的是5分钟。我正在使用睡眠来延迟程序,但大约一分钟后应用程序将崩溃。任何帮助将不胜感激。如果需要更多信息,请告诉我!谢谢!
答案 0 :(得分:3)
您可以使用Handler的postDelayed
稍后在主UI线程中执行代码:
int delay = 2000;
Handler handler = new Handler();
// to execute in 2 sec
handler.postDelayed(new Runnable() {
@Override
public void run() {
Toast.makeText(mContext, "Showing toast", Toast.LENGTH_LONG).show();
}}, delay);
答案 1 :(得分:2)
这是一个AsyncTask,它在被调用5秒后显示Toast。
public class ToastAsyncTask extends AsyncTask<String,Void,String>
{
private Context mContext;
public SaveAuctionAsyncTask(Context mContext)
{
this.mContext = mContext;
}
protected void onPreExecute()
{
}
@Override
protected String doInBackground(String... arg0)
{
Thread.sleep(300000); //300000 is 5 minutes
}
@Override
protected void onPostExecute(String result)
{
Toast.makeText(mContext, "Showing toast", Toast.LENGTH_LONG).show();
}
}
从活动执行 ToastAsyncTask 的方式如下:
ToastAsyncTask toastAsyncTask = new ToastAsyncTask (this);
toastAsyncTask .execute();