Sziasztok!

Van egy appwidget-em, ahol az onReceive metódusban intent.getAction() alapján végzek el különböző dolgokat. Az egyiknél kiíratok egy toast üzenetet, eddig működik is. Amit csinálni akarok, hogy a toast megjelenésével egyidőben lekérem a RemoteViews-t, módosítom, AppWidgetManager-rel frissítem, várok 5 mp-et (Thread.sleep), majd visszaállítom az eredeti állapotot. A widget frissül is, viszont a toast csak azután jelenik meg, hogy ez az 5 mp letelt, illetve csak megjelenne, mert a toast duration-je "elindul" amikor megjelenítem, de csak azután jelenne meg, amikor az 5mp után megint frissül a widget. Ha 6 mp-et adok meg duration-nek a toastnak, akkor ebben az esetben 1 mp-ig látszik. Mi lehet az oka?

Toast.makeText(...).show;

RemoteViews updateViews = new RemoteViews(context.getPackageName(), R.layout.main_layout);
updateViews.setImageViewResource(...);
ComponentName me = new ComponentName(context, Valami.class);
AppWidgetManager mgr = AppWidgetManager.getInstance(context);
mgr.updateAppWidget(me, updateViews);
try {
 Thread.sleep(5000);
} catch ...
updateViews.setImageViewResource(...);
mgr.updateAppWidget(me, updateViews);