android - solucion - red movil no disponible tigo
Error al abrir el menú de configuración de la red móvil (3)
Hola, me gustaría abrir la configuración de la red móvil con este código:
Intent intentSettings = new Intent();
intentSettings.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intentSettings.setAction(Settings.ACTION_DATA_ROAMING_SETTINGS);
cont.startActivity(intentSettings);
pero me da este error. ¿Alguna idea a alguien?
12-10 11:17:34.902: ERROR/AndroidRuntime(623): android.content.ActivityNotFoundException: No Activity found to handle Intent { action=android.settings.DATA_ROAMING_SETTINGS flags=0x4000000 }
Gracias
Podría tratar de deshacerse de FLAG_ACTIVITY_NEW_TASK
, que puede no ser necesario en este caso, y ver si eso ayuda.
Si eso no ayuda, entonces:
- Estás ejecutando esto en Android 1.1 o anterior (parece improbable)
- Está ejecutando esto en un dispositivo con un problema de compatibilidad (de ser así, hágamelo saber de qué dispositivo se trata)
- Algo realmente extraño está sucediendo
ACTUALIZAR
Parece que la respuesta es la tercera viñeta de arriba. Mientras ACTION_DATA_ROAMING_SETTINGS
encuentra en la documentación, la aplicación de Configuración no tiene un <intent-filter>
para él.
Volveré a verificar cuando se publique la fuente de Android 2.3 y veré si eso cambia la historia. Si no, archivaré un error, porque es un error de documentación o un error de la aplicación de configuración, en mi humilde opinión.
Para que esto funcione, cambie su creación de intención al siguiente código:
Intent intent=new Intent(Settings.ACTION_DATA_ROAMING_SETTINGS);
ComponentName cName = new ComponentName("com.android.phone","com.android.phone.Settings");
intent.setComponent(cName);
Básicamente, el manifiesto de Android requiere un filtro de componentes.
Esto funciona igual para ACTION_NETWORK_OPERATOR_SETTINGS, simplemente agregue el siguiente componente:
Intent intent=new Intent(Settings.ACTION_NETWORK_OPERATOR_SETTINGS);
ComponentName cName = new ComponentName("com.android.phone","com.android.phone.Settings");
intent.setComponent(cName);