0

私はアプリを持っています。アプリの画面がオフになった場合、画面をクリックして画面をオンにしたいのですが、flag_user_present を使用してブロードキャストを受信するか、または

public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_POWER) {
    //do nothing but show a warning message
    Toast.makeText(this, "you pressed the power button",Toast.LENGTH_SHORT).show();
    return true;
}

  return super.dispatchKeyEvent(event);
} 

しかし、画面をクリックして同じことをしたいので、ontouchイベントをオーバーロードしますが、画面がオフの場合、ontouchはフォーカスを受け取らず、クリックイベントを処理します。だから私の質問は、画面がオフのときにクリックイベントを処理する方法です(私の画面はロックされず、同じアクティビティを維持し、画面がオフになっているだけです)

4

2 に答える 2

3

デバイスが画面をオフにすると、これを行うことができなくなります。画面がオフの場合、通常、タッチスクリーンはカーネルによってすぐにシャットダウンされます (別の方法で変更されていない場合)。これは明らかな理由で発生します。
tsp が彼の答えで言ったことを使用し、画面を黒にしてエミュレートし、明るさをできるだけ低くしてから、タッチイベントをリッスンすることができます。ただし、この動作はユーザーにとって予期しないものであり、画面がオフになっていると思われる可能性があることに注意してください。これを行うことはお勧めしません。また、すべてのデバイスで輝度をゼロにできるわけではありません。

于 2013-10-29T09:33:57.740 に答える
0

あなたは使うことができます

android:keepScreenOn="true" 
于 2013-10-29T09:28:39.190 に答える