延迟代码执行而不会崩溃

时间:2015-04-06 23:09:49

标签: java android

我正在寻找一种方法来延迟我的应用程序创建和显示祝酒词。我使用了几个不同的间隔,最大的是5分钟。我正在使用睡眠来延迟程序,但大约一分钟后应用程序将崩溃。任何帮助将不胜感激。如果需要更多信息,请告诉我!谢谢!

2 个答案:

答案 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();