Android 4.1中的移动网络设置

时间:2012-08-27 18:08:01

标签: android android-intent settings

我的应用应该打开移动网络设置活动。一切正常,但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);

崩溃后的堆栈跟踪:

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

有什么想法吗?可能是因为清单吗?

更新:

似乎问题在这里解决了: Android - Mobile network settings menu (Jelly Bean)

问题是将“com.android.phone.Settings”更改为“com.android.phone.MobileNetworkSettings”

1 个答案:

答案 0 :(得分:7)

我想你必须尝试

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

这个东西在android 4.1.2中对我有用, 可能是他们在4.1.2

中解决了这个问题