ここで誰かがオンラインで同様の問題を抱えていることを発見しました。
これは機能しません:
Timer t = new Timer(false);
t.schedule(new TimerTask() {
@Override
public void run() {
Toast.makeText(getApplicationContext(), "msg", Toast.LENGTH_LONG).show();
}
}, 5000);
しかし、タイマータスクの外側でトーストをインスタンス化し、それを内側に表示するとrun
、機能します。
いわゆるUIスレッドの関係かと思いますが、
しかし、どのように正確に?