Не удается создать обработчик внутри потока в Android

Я пытаюсь показать диалоговое окно предупреждения в условии if.

ObdGatewayService.java

 public class ObdGatewayService{

 if(e.getMessage().equals("Broken pipe")){
            ((MainActivity) ctx).OBDreconnect();
            }
 } 

MainActivity.java

   public void OBDreconnect() {
    if(!show_obd_reconnect_dialog) {
        AlertDialog.Builder build = new AlertDialog.Builder(this);
        build.setMessage(R.string.obd_losted)
                .setCancelable(false)
                .setPositiveButton("Reconnect", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {
                        startLiveData();
                    }
                })
                .setNegativeButton("Exit", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {
                        finish();
                    }
                });
        show_obd_reconnect_dialog = true;
        build.show();
    }
}

получение ошибки ниже:

 java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()

person GNK    schedule 01.09.2020    source источник
comment
вы не можете делать вещи пользовательского интерфейса в фоновом потоке. проверьте это   -  person Vucko    schedule 01.09.2020
comment
Спасибо. Теперь это работает.   -  person GNK    schedule 01.09.2020