非常简单的小功能,但有人知道如何从 Java 中休眠 OS X 吗?
干杯
System.exec("osascript -e 'tell application \"System Events\" to sleep'");
使用以下内容创建脚本:
#!/bin/bash
osascript << EOT
tell application "System Events"
sleep
end
EOT
并使用系统来执行它。
public void gotoSleep(){
try{
logger.finer("Zzz...");
if (preferences.getOS().equals("OSX") == true ){
Process p = Runtime.getRuntime().exec
("/bin/bash");
String command = "osascript -e 'tell application \"System Events\"' "
+ " -e \"sleep\" -e 'end tell'";
OutputStream stdin = p.getOutputStream();
stdin.write( command.getBytes() );
stdin.flush();
stdin.close();
}
}catch( Exception e ) {
logger.warning( e.toString() );
}
}
由于某种原因,当我这样做时,如果不通过 bash 执行它,它就无法工作。