que podría estar abordar el problema de una manera incorrecta ..onActivityResult siempre devuelve 0 (RESULT_CANCELED) cuando se llama a la configuración
Lo que estoy haciendo está mostrando un mensaje de alerta cuando no hay conexión a Internet y el "ok" botón lleva al usuario a la configuración wifi para encender Internet. Lo que quiero que haga la aplicación, cuando el usuario vuelva a ella después de cambiar (o no) la configuración de Internet, es volver a cargar la aplicación o la actividad donde estaba.
Para esto yo estoy haciendo la siguiente llamada para el botón "OK":
static void startAct(Activity ctxt)
{
ctxt.startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), WIFI_SETTINGS);
}
de la clase de la actividad, donde se muestra este mensaje tengo el siguiente:
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == WIFI_SETTINGS && resultCode == RESULT_OK)
{
this.finish();
Intent myIntent = new Intent(this, MyActivity.class);
startActivity(myIntent);
}
}
pero resultCode siempre es 0, onActivityResult se llama justo después de presionar el botón "ok".
¿Debo abordar este problema de manera diferente? ¿Cómo puedo volver a cargar/actualizar mi aplicación cuando el usuario vuelve de la configuración wifi?
He verificado respuestas similares pero parecen utilizar una actividad dentro de la misma aplicación, por lo que pueden llamar al set_result(...)
, pero no puedo hacer eso aquí.
gracias!
¿Por qué no acaba de comprobar 'onActivityResult', si el wifi está encendido. Independientemente del valor que devuelve. – Doomsknight
Podría hacerlo, pero se llama a OnivityResult inmediatamente después de presionar el botón "ok", por lo que el usuario no tendrá tiempo de cambiar la configuración antes de que se llame. – marimaf
¿Qué botón de autorización? Pensé que querías decir ok en la pantalla de configuración de Wifi. ¿El requestCode que devuelve lo mismo que WIFI_SETTINGS? – Doomsknight