アクティビティの 1 つが実行されていて、電話が電源に接続されているときはいつでも画面をオンにしたいと思います。ウェイクロックが扱いにくいことはわかっているので、この特定の目標を達成する方法に関する例またはドキュメントを探しています。
2 に答える
これには wake lock を使用しないでくださいWindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON。デバイスが現在接続されているかどうかに基づいて、ウィンドウ フラグを設定およびクリアするだけです。フラグは で設定できますActivity.getWindow().addFlags()。
したがって、コードは次のようになります
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
AWakeLockはそれほどトリッキーではありません。呼び出し時にまだ保持されていないことを確認し、 を呼び出したときに保持されていることを確認しacquire()てください。また、マニフェスト ファイルで権限が定義されていることも確認する必要があります。release()android.permission.WAKE_LOCK
電話が接続されているときにのみ WakeLock を取得する場合は、とインテントBroadcastReceiverを監視する を登録できます。私はこれらを自分で使用したことがないため、これらのインテントが実際に機能する前に、アプリケーションのアクセス許可を取得する必要がある場合があります。android.intent.action.ACTION_POWER_CONNECTEDandroid.intent.action.ACTION_POWER_DISCONNECTED