2012-07-02 14 views
8

seguente codice non funziona per Jelly Bean (Android 4.1):Android - menu delle impostazioni di rete mobile (Jelly Bean)

final ComponentName cn = new ComponentName("com.android.phone","com.android.phone.Settings"); 
final Intent intent=new Intent(Settings.ACTION_DATA_ROAMING_SETTINGS); 
intent.addCategory(Intent.CATEGORY_LAUNCHER); 
intent.setComponent(cn); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(intent); 

Invece per avviare l'impostazione, si Indifferente nulla, alcuna idea di come risolverlo ?

Ecco la soluzione:

final ComponentName cn = new ComponentName("com.android.phone","com.android.phone.MobileNetworkSettings"); 
final Intent intent = new Intent(Settings.ACTION_DATA_ROAMING_SETTINGS); 
intent.addCategory(Intent.ACTION_MAIN); 
intent.setComponent(cn); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(intent); 

Grazie ragazzi:)

+0

provare dopo aver aggiunto FLAG_A CTIVITY_NEW_TASK flag –

risposta

5

provare come:

final Intent intent=new Intent(Settings.ACTION_DATA_ROAMING_SETTINGS); 
intent.addCategory(Intent.CATEGORY_LAUNCHER); 
final ComponentName cn = new ComponentName("com.android.phone","com.android.phone.Settings"); 
intent.setComponent(cn); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(intent); 
+0

se questo non funziona, allora collegare in modo semplice il tuo dispositivo al debugger e avviare ACTION_DATA_ROAMING_SETTINGS impostando manualmente quindi vedere nel log il nome del pacchetto e il nome dell'attività lanciati dal sistema –

+0

verificare il nome dell'attività nel registro sonoro come com.android.phone/.Settings? ? –

0

Il codice qui sotto è molto più semplice e testato su Gingerbread (2.3.7) e JB (4.1.2)

startActivityForResult(new Intent(android.provider.Settings.ACTION_DATA_ROAMING_SETTINGS), 0); 
Problemi correlati