 <blockquote> <p>If <code>COMPONENT_ENABLED_STATE_DEFAULT</code> is returned, how do I know if it's default as enabled or disabled?</p> </blockquote> <p>You will need to load all the components using PackageManager and check the enabled state for the matching ComponentInfo. The following code should work:</p> <pre><code>public static boolean isComponentEnabled(PackageManager pm, String pkgName, String clsName) { ComponentName componentName = new ComponentName(pkgName, clsName); int componentEnabledSetting = pm.getComponentEnabledSetting(componentName); switch (componentEnabledSetting) { case PackageManager.COMPONENT_ENABLED_STATE_DISABLED: return false; case PackageManager.COMPONENT_ENABLED_STATE_ENABLED: return true; case PackageManager.COMPONENT_ENABLED_STATE_DEFAULT: default: // We need to get the application info to get the component's default state try { PackageInfo packageInfo = pm.getPackageInfo(pkgName, PackageManager.GET_ACTIVITIES | PackageManager.GET_RECEIVERS | PackageManager.GET_SERVICES | PackageManager.GET_PROVIDERS | PackageManager.GET_DISABLED_COMPONENTS); List&lt;ComponentInfo&gt; components = new ArrayList&lt;&gt;(); if (packageInfo.activities != null) Collections.addAll(components, packageInfo.activities); if (packageInfo.services != null) Collections.addAll(components, packageInfo.services); if (packageInfo.providers != null) Collections.addAll(components, packageInfo.providers); for (ComponentInfo componentInfo : components) { if (componentInfo.name.equals(clsName)) { return componentInfo.isEnabled(); } } // the component is not declared in the AndroidManifest return false; } catch (PackageManager.NameNotFoundException e) { // the package isn't installed on the device return false; } } } </code></pre> <hr> <p>Testing the above code on my device:</p> <pre><code>System.out.println(isComponentEnabled(getPackageManager(), "com.android.systemui", "com.android.systemui.DessertCaseDream")); System.out.println(isComponentEnabled(getPackageManager(), "com.android.settings", "com.android.settings.DevelopmentSettings")); </code></pre> <blockquote> <p>false</p> <p>true</p> </blockquote>