Фон
Я пытаюсь проверить, включено ли действие (или любой другой тип компонента приложения) во время выполнения.
Проблема
Можно использовать следующий код:
final ComponentName componentName = new ComponentName(context, activityClass);
final PackageManager pm = context.getPackageManager();
final int result = pm.getComponentEnabledSetting(componentName);
Но возвращаемый результат, как написано на документации, таков:
Возвращает текущее разрешенное состояние для компонента. Может быть одним из COMPONENT_ENABLED_STATE_ENABLED, COMPONENT_ENABLED_STATE_DISABLED или COMPONENT_ENABLED_STATE_DEFAULT. Последнее означает, что компонент включенное состояние основано на исходной информации в манифесте как найдено в ComponentInfo.
Поэтому он не просто включен/отключен, но также "по умолчанию".
Вопрос
Если возвращается "COMPONENT_ENABLED_STATE_DEFAULT", как узнать, по умолчанию ли он включен или отключен (во время выполнения)?
Причина этого вопроса в том, что код должен работать независимо от того, что люди помещают в манифест (для атрибута "enabled" ).
Возможно ли, возможно, использовать намерения, разрешающие?