2012-07-02 10 views
8

次のコードは、ジェリービーン(アンドロイド4.1)のために働いていません。アンドロイド - モバイルネットワークの設定メニュー(ジェリービーン)

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

代わりに、設定を開始するために、それは、それを解決するためにどのように任意のアイデアを何もdoesn'tありません?

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

は皆さんありがとう:)など

+0

FLAG_A CTIVITY_NEW_TASKフラグ –

答えて

5

試してみてください。

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

これがうまく動作しない場合、デバイスをデバッガに接続し、ACTION_DATA_ROAMING_SETTINGSを手動で起動し、システムによって起動されたパッケージ名とアクティビティ名のログを参照してください。 –

+0

com.android.phone/Settingsのようなログのアクティビティ名を確認しますか? ? –

0

以下のコードは)はるかに簡単で、ジンジャーブレッド(2.3.7でテストここで

は溶液でJB(4.1.2)

startActivityForResult(new Intent(android.provider.Settings.ACTION_DATA_ROAMING_SETTINGS), 0); 
関連する問題