2011-11-11 9 views
1

OS X Lionは、Javaのロボットからプログラム的なマウス「ウィグル」が定期的に発行されてもスリープ状態になります(これはマシンがスリープ状態にならないようにする標準的な方法です) stackoverflowのどこかで文書化されており、OS X Lionの前に私のために働いていました)。プログラムで(Javaで)OS Xがスリープ状態にならないようにする

Javaアプリケーションからマシンを起動させておくと、権限の昇格を必要としない別の方法を提案できますか?

(フォールバックソリューションは、マシンがスリープしないようにエネルギー節約の設定を変更するのは明らかですが、マシンをスリープ状態にしておくことがルールではなく例外であるため、よりスマートにしたいと思っています) 。

答えて

0

それは純粋なJavaのハックでこれを行うことができなくなることが判明し、もう1つはJNI I/Oリスナーの実装に頼らなければならない、のコードは

http://developer.apple.com/library/mac/#qa/qa1340/_index.html

のようなものが含まれます

コマンドラインツールを呼び出すことができる場合は、デーモンスレッドでpmset noidleを呼び出してください。

1

ディスプレイスリープまたはシステムスリープを防止する必要がありますか?後者の場合、ディスクアクティビティでシステムスリープを防ぐことができます。ファイルの読み取りまたは書き込みを行います。

ハードディスクのアクティビティはディスプレイのスリープを防ぎませんが、 システムのスリープを防ぎます。 システムがスリープ状態になる前にディスプレイがスリープすることは珍しくありません。これは、両方のタイプのスリープが同じ長さの非アクティブ時間の後に発生するように設定されている場合です。 UpdateSystemActivityコールを使用して、睡眠を防止するために使用することができるObjective-Cのコードに http://support.apple.com/kb/ht1776

This answerポイント。 Javaコードからネイティブメソッドとして呼び出すことができるシンプルなJNIラッパーを作成できますか?

また、スリープ状態を無効にして再び有効にすることも可能です。あなたのJavaコードからRuntime.exec()を使ってそのようなスクリプトを呼び出すことができますか?

+0

ディスプレイスリープは私にとって無関係です。私は、マシンがシステムスリープ状態になるのを止めることに興味があります。経験から、ファイルへの読み書きは、iMacがスリープ状態にならないようにすることは間違いありません。 – fommil

関連する問題