Can';t在android中创建线程内的处理程序

Can';t在android中创建线程内的处理程序,android,handler,looper,Android,Handler,Looper,我试图在if条件下显示警报对话框 ObdGatewayService.java MainActivity.java 获取以下错误: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare() 您不能在后台线程上执行UI操作。非常感谢。现在它正在工作。 public void OBDreconnect() { if(!show_obd_rec

我试图在if条件下显示警报对话框

ObdGatewayService.java

MainActivity.java

获取以下错误:

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

您不能在后台线程上执行UI操作。非常感谢。现在它正在工作。
   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()
  if(e.getMessage().equals("Broken pipe")){
                Handler handler = new Handler(Looper.getMainLooper());
                handler.postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        ((MainActivity) ctx).OBDreconnect();

                    }
                }, 0 );
            }