我正在尋找一種方法來延遲我的應用程序創建和顯示吐司。我使用幾個不同的時間間隔,最大的是5分鐘。我使用睡眠來延遲程序,但大約一分鐘後,應用程序將崩潰。任何幫助將不勝感激。如果需要更多信息,請告訴我!謝謝!!延遲執行代碼無崩潰
1
A
回答
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();
3
您可以使用一個處理器的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);
+0
使用view.postDelayed()跳過新的Handler()部分。 – songchenwen
相關問題
- 1. Javascript代碼執行延遲
- 2. Iphone延遲執行代碼
- 3. jquery延遲執行代碼
- 4. 延遲代碼執行
- 5. CFileDialog延遲崩潰
- 6. 未執行代碼崩潰
- 7. 如何延遲代碼執行?
- 8. 代碼執行中的同步延遲
- 9. delayed_job_active_record不會執行延遲代碼
- 10. 應用程序崩潰,因爲我試圖延遲執行
- 11. 執行代碼時我的Android崩潰
- 12. 延遲執行
- 13. 崩潰,從ModalView執行popover延續
- 14. 延遲執行IRP_MN_SET_POWER
- 15. LINQ延遲執行
- 16. AS3延遲執行?
- 17. PLINQ延遲執行
- 18. 引導4崩潰有延遲
- 19. 蘋果崩潰報告服務延遲
- 20. 延遲崩潰的應用程序
- 21. java延遲方法崩潰系統
- 22. CSS3崩潰與延遲一起工作
- 23. 延遲JavaScript代碼
- 24. 執行崩潰
- 25. 每次迭代,延遲執行
- 26. 可能運行延遲的代碼執行嗎?
- 27. 運行程序時執行延遲代碼
- 28. 我的代碼行不是在執行延遲 - Android
- 29. 延遲不運行其他代碼行
- 30. 爲什麼setTimeout無延遲執行timeExpired?
您可以使用類似於AsyncTask或線程的東西,只需指定線程即可。休眠(毫秒); – Arlind