我的应用应该打开移动网络设置活动。一切正常,但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”
答案 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
中解决了这个问题