我正在使用以下代码打开飞行模式设置页面。
startActivity(new Intent(Settings.ACTION_AIRPLANE_MODE_SETTINGS));
它在大多数设备上运行良好。但在三星型号= GT-19300上它引发了一个例外:
ActivityNot Found Exception.No找到处理意图的活动
{android.Settings.ACTION_AIRPLANE_MODE_SETTINGS}
在三星设备上打开飞行模式设置的Intent字符串是什么?
答案 0 :(得分:2)
if (android.os.Build.VERSION.SDK_INT < 17){
try{
Intent intentAirplaneMode = new Intent(Settings.ACTION_AIRPLANE_MODE_SETTINGS);
intentAirplaneMode.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intentAirplaneMode);
}
catch (ActivityNotFoundException e){
Log.e("exception", e + "");
}
}
else{
Intent intent1 = new Intent("android.settings.WIRELESS_SETTINGS");
intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent1);
}
尝试此代码希望它能够正常工作。
答案 1 :(得分:0)
我已经尝试了@Rizwan Rasheed的答案,而else块打开了一个不是飞机模式活动的活动。我在三星J1中做过这个。
在某些情况下,匹配的活动可能不存在,因此请确保您 防止这种情况发生。
作为一个选项,在catch块中我建议你打开设备设置或一些警告对话框,在点击事件中打开相同的活动。
try {
Intent intent = new Intent(Settings.ACTION_AIRPLANE_MODE_SETTINGS);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
catch (ActivityNotFoundException e){
// Open a dialog or device settings
}
要打开设备设置,请执行以下操作:
startActivity(new Intent(android.provider.Settings.ACTION_SETTINGS));