No hay problema para llegar al subproceso UI del subproceso de fondo (más claro: del método doInBackground()): solo tiene que ejecutar el método runOnUiThread()
en su contexto. En mi caso lo estoy llamando desde doInBackground()
cuerpo.
ContactsViewerActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
AlertDialog.Builder builder = new AlertDialog.Builder(ContactsViewerActivity.this);
builder.setTitle("Connection problem..")
.setMessage("Could not connect to " + url + ", " +
"try changing your host in the settings to default one :" +
getResources().getString(R.string.default_server_ip) + ":" +
getResources().getString(R.string.default_server_port))
.setNegativeButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
AlertDialog alert = builder.create();
alert.show();
}
});