2012-07-02 22 views
8

kod aşağıdaki Mobil ağ ayarları menüsü (Jelly Bean) Jelly Bean için çalışmıyor (Android 4.1): YerineAndroid -

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); 

ayarlamaya başlamak için, nasıl bunu çözmek için, bir fikrin bir şey gelmiyor.Fark ?)

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

FLAG_A ekledikten sonra deneyin CTIVITY_NEW_TASK bayrağı –

cevap

5

:

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); 

Teşekkürler çocuklar: Burada

çözümdür ve JB (4.1.2)

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

eğer bu işe yaramazsa, cihazınızı hata ayıklayıcısına takın ve ACTION_DATA_ROAMING_SETTINGS ayarını manuel olarak başlatın, ardından paket adı ve sistem tarafından başlatılan Aktivite Adına bakın. –

+0

sisteme giriş etkinliği adı, com.android.phone/.Settings gibi oturum açma işleminde etkinlik adını kontrol edin. ? –

0

Aşağıdaki kod çok daha basit ve Gingerbread üzerinde test olduğunu (2.3.7: olarak deneyin)