Большинства активности действий (используемые для запуска различных видов деятельности Settings) в Settings классе приходит с предупреждением:Safeguard против «согласующей активность не может существовать» в андроиде настройках
В некоторых случаях, Соответствие деятельности может не существовать, поэтому убедитесь, что вы защищаете это.
Так как же я могу защитить от этого?
try {
final Intent i = new Intent(Settings. ACTION_WIRELESS_SETTINGS); // say
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // not sure if needed
startActivity(i);
} catch (Exception e) { // what should I catch here
// I would hate to catch Throwable, but should I ?
}
Если я прочитал this правильно, например, исполняемая исключение (NPE) брошено. Я хотел бы использовать что-то более конкретное, хотя вроде ActivityNotFoundException
- но достаточно ли этого?
'resolveActivity()' звучит как слишком много кода для чего-то, что не должно терпеть неудачу в любом случае - я пошел на попытку поймать. Спасибо :) –
@Mr_and_Mrs_D: Обратите внимание, что даже если конкретное действие настроек 'Intent' поддерживается устройством, конкретный * пользователь * может не иметь к нему доступа, если они работают в ограниченном профиле на планшетах Android 4.3+. – CommonsWare