まず、 WakeLockとsetKeepScreenOnについて知っています。私のニーズは少し違うだけで、それが可能かどうかさえわかりません.
1 つのスレッドでタッチ イベントを生成MotionEvent.obtain()
していactivity.dispatchTouchEvent()
ます。これは正常に動作していますが、生成されたタッチ イベントがユーザー アクティビティとして認識されていないように見えるため、デバイスがスリープ状態になる可能性があり、非アクティブなために電話がスリープ状態になる可能性があります。
アクティビティ(またはアプリケーション、またはOSなど、必要なものは何でも)に「ねえ、アクティビティがありました」と伝えて、自動スリープしないようにすることは可能ですか?十分な時間活動がなかった場合 (つまり、スレッドが十分な時間タッチ イベントを生成および送信しない場合) は正常ですか? 基本的に、これらの生成されたタッチ イベントが、実際のタッチ イベントと同じように電話を起動したままにしたいのです。WakeLock
との問題setKeepScreenOn()
は、非アクティブなために画面が強制的にオンのままになり、スリープ状態にならない (またはユーザーのデバイスのデフォルトの動作が何であれ) ことです。