code: public static void setInstallNonMarketApps(boolean installNonMarketApps) {
      // This setting moved from Secure to Global in JELLY_BEAN_MR1 and then moved it back to Global
      // in LOLLIPOP. Support all clients by always setting this field on all versions >=
      // JELLY_BEAN_MR1.
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
        Settings.Global.putInt(
            RuntimeEnvironment.application.getContentResolver(),
            Settings.Global.INSTALL_NON_MARKET_APPS,
            installNonMarketApps ? 1 : 0);
      }
      // Always set the Secure version of the setting
      Settings.Secure.putInt(
          RuntimeEnvironment.application.getContentResolver(),
          Settings.Secure.INSTALL_NON_MARKET_APPS,
          installNonMarketApps ? 1 : 0);
    }
docs: Sets the value of the {@link Settings.Global#INSTALL_NON_MARKET_APPS} setting or {@link
  Settings.Secure#INSTALL_NON_MARKET_APPS} depending on API level.
  
  @param installNonMarketApps new value for whether non-market apps are allowed to be installed