ユーザーが電話を振ったときに画面のオン/オフを切り替える必要があるアプリを作成しています。これまでのところ、この質問への回答で提案されているように、揺れをリッスンする SensorEventListener があります。
揺れを検出すると、この質問の回答で提案されているように、画面の明るさの値を変更します。実際に画面をオフにしなくても、すべてうまく機能します...public void setBright(float value)
方法で明るさを0.01fに設定すると、完全に機能します。ただし、明るさを 0.0f に設定すると、電話は画面を再び回転させません... 少なくとも電源ボタンを押すまでは。
私がやろうとしていることは可能ですか?私は何を間違っていますか?
- 編集 -
Dreとicyerasorのおかげで、この問題をさらに詳しく調べることができました。明るさを 0.0f にする前にPARTIAL_WAKE_LOCKを取得しましたが、電話を振っても点灯しません。ただし、アプリをデバッグすると、画面をオフにして電話を振ると setBright(1.0f) が呼び出されることがわかります。電源ボタンを押すとロック画面が起動するので、ロック画面が何らかの形で台無しになっているのではないかと疑っています。電源ボタンを押した後、アプリは通常どおり動作し続けます。ロック画面をバイパスする方法はありますか?
ご協力いただきありがとうございます!