2012-08-27 21 views
5

Mi aplicación debería abrir la actividad Configuración de red móvil. Todo funciona bien, excepto los dispositivos con Android 4.1, que después de accidente intento de abrir la configuraciónConfiguración de red móvil en Android 4.1

Intent intent = new Intent(android.provider.Settings.ACTION_DATA_ROAMING_SETTINGS); 
final ComponentName cName = new ComponentName("com.android.phone", "com.android.phone.Settings"); 
intent.setComponent(cName); 
startActivity(intent); 

Seguimiento de la pila después de chocar:

java.lang.SecurityException: Permission Denial: starting Intent { act=android.settings.DATA_ROAMING_SETTINGS cmp=com.android.phone/.Settings } from ProcessRecord{41b83198 ... 

¿Alguna idea? ¿Podría ser por el manifiesto?

ACTUALIZACIÓN:

parece que el problema se resolvió aquí: Android - Mobile network settings menu (Jelly Bean)

La cosa es cambiar "com.android.phone.Settings" a "com.android.phone.MobileNetworkSettings"

+0

En qué dispositivo está probando esto, ya que [en algunos casos, una actividad coincidente puede no existir, así que asegúrese de evitar esto] (http://developer.android .com/reference/android/provider/Settings.html # ACTION_DATA_ROAMING_SETTINGS) – Andrei

+0

El problema se encontró en Nexus S – Alex

Respuesta

7

yo creo que hay que tratar

Intent intent = new Intent(); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
intent.setAction(android.provider.Settings.ACTION_DATA_ROAMING_SETTINGS); 
startActivity(intent); 

Esta cosa me está funcionando en Android 4.1.2, podría ser que solucionaron este problema en 4.1.2

Cuestiones relacionadas