Search code examples
androidmultithreadingandroid-runonuithread

runOnUiThread doesn't work in Android


I see Here3 and Here4 True True on logcat but commands(alertdialog, mediaPlayerStop and VibrateStop) doesn't work in run() method. Any suggestion? Thanks in advance.

    if(check == 1)
    {
        Log.i("XXX", "Here3");
        runOnUiThread(new Runnable()
        {
            @Override
            public void run()
            {
                new Handler().postDelayed(new Runnable()
                {
                    @Override
                    public void run()
                    {
                        Log.i("XXX", "Here4 " + voiceSwitch.isChecked() + " " + vibrateSwitch.isChecked());
                        if(voiceSwitch.isChecked())
                        {
                            mediaPlayerStop();
                        }
                        if(vibrateSwitch.isChecked())
                        {
                            vibrateStop();
                        }
                        builder.show().dismiss();
                    }
                }, 5000);
            }
        });
    }

Solution

  • you can't use run thread with UI use AsynckTask class and implement the method onPostExecute() with builder.show().dismiss();