この特定の要件があります。ユーザーが GUI のボタンをクリックすると、ブラウザを起動する必要があります。2分間待つ必要があります。ユーザーが 2 分前にブラウザーを閉じた場合、ウィンドウ 'A' を起動する必要があります。ブラウザが 2 分以上開いたままになっている場合は、ウィンドウ 'B' を起動する必要があります。
現在、ブラウザウィンドウを起動できます。ただし、ユーザーが閉じると聞くことができません。以下は、私が書いたコードのスナップショットです。
String url = "www.google.com";
Process browserProcess;
String commandLine = "rundll32 url.dll,FileProtocolHandler " + url;
String[] args = commandLine.split(" ");
ProcessBuilder pb = new ProcessBuilder(args);
pb.redirectErrorStream(true);
browserProcess = pb.start();
in = new BufferedReader(new InputStreamReader(browserProcess.getErrorStream()));
String lineRead;
while ((lineRead = in.readLine()) != null) {
//do nothing
}
int exitVal;
System.out.println("Waiting...");
exitVal = browserProcess.waitFor();
System.out.println("Done");
現在、waitFor() はブラウザが起動されるとすぐに戻ります。ユーザーがブラウザ ウィンドウを閉じるまで待つ必要があります。どのようにそれを行うことができますか?