Включить / отключить активность программно

У меня есть активность в моем приложении, которое я сохранил как

android:enabled="false" 

Теперь я хочу, чтобы при нажатии кнопки он должен был переключиться на

 android:enabled="true" 

Как я могу это сделать?

Solutions Collecting From Web of "Включить / отключить активность программно"

Вот пример того, как включить / отключить действие:

  PackageManager pm = getPackageManager(); pm.setComponentEnabledSetting(new ComponentName(this, com.packagename.MyActivity.class), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); pm.setComponentEnabledSetting(new ComponentName(this, com.packagename.MyActivity.class), PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP); 

Вот хороший способ сделать это:

  public static void setActivityEnabled(Context context,final Class<? extends Activity> activityClass,final boolean enable) { final PackageManager pm=context.getPackageManager(); final int enableFlag=enable ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED : PackageManager.COMPONENT_ENABLED_STATE_DISABLED; pm.setComponentEnabledSetting(new ComponentName(context,activityClass),enableFlag,PackageManager.DONT_KILL_APP); } 

Пример использования:

 setActivityEnabled(this,SomeActivity.class,false); 

Используйте setComponentEnabledSetting() и setComponentEnabledSetting() чтобы включить или отключить любой компонент в вашем приложении: активность, сервис и т. Д.