プラグインしている間、Androidデバイスを眠らせない方法
-
08-10-2019 - |
質問
私のアクティビティの1つが実行され、電話が電源に接続されているときはいつでも画面をつけておきたいと思います。 Wakelocksが難しいことを知っているので、この特定の目標を達成する方法に関する例やいくつかのドキュメントを探しています。
解決
このためにウェイクロックを使用しないでください - ウィンドウフラグを設定してクリアするだけです WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
デバイスが現在プラグインしているかどうかに基づいて。 Activity.getWindow().addFlags()
.
したがって、コードはそうなるでしょう
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
他のヒント
a WakeLock
それはトリッキーではありません、あなたが電話したときにそれがまだ保持されていないことを確認してください acquire()
そしてそれを確認してください は あなたが電話するときに開催されます release()
. 。また、あなたが持っていることを確認したいです android.permission.WAKE_LOCK
マニフェストファイルで定義されている許可。
電話が接続されているときにWakelockを取得したい場合は、登録できます BroadcastReceiver
それはの時計です android.intent.action.ACTION_POWER_CONNECTED
と android.intent.action.ACTION_POWER_DISCONNECTED
意図。私はこれらを自分で使用していないので、これらの意図が実際に機能する前に、あなたが得る必要があるいくつかのアプリケーション許可があるかもしれません。
所属していません StackOverflow