This works for me -
System.setProperty("webdriver.chrome.silentOutput", "true");
co = new ChromeOptions();
//set the download path and disable save as modal window
HashMap<String, Object> chromePrefs = new HashMap<String, Object>();
chromePrefs.put("profile.default_content_settings.popups", 0);
chromePrefs.put("download.default_directory", downloadFilepath);
chromePrefs.put("download.prompt_for_download", "false");
chromePrefs.put("profile.default_content_setting_values.geolocation", 2);
co.setExperimentalOption("prefs", chromePrefs);
co.addArguments("--disable-notifications", "--disable-gpu", "--no-sandbox", "--disable-dev-shm-usage");
co.addArguments("--disable-geolocation");
co.setExperimentalOption("excludeSwitches", Collections.singletonList("enable-automation"));
co.setExperimentalOption("useAutomationExtension", false);
co.addArguments("--start-maximized");