特定のアクションが発生した後にディスプレイのオン/オフを切り替えようとしています (今は画面をオフにすることだけを考えましょう)。ウェイクロックから私が理解していることは、次のとおりです。
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "My Tag");
stackoverflow や他の場所で他の投稿を読むと、PARTIAL_WAKE_LOCK は画面をオフにすると書かれているようです。しかし、SDK を読むと、画面をオフにすることしかできないと書かれています。これは正しくないと思います。
ベストアンサー1
画面をオフにするには、次の 2 つの選択肢があります。
PowerManager manager = (PowerManager) getSystemService(Context.POWER_SERVICE);
// Choice 1
manager.goToSleep(int amountOfTime);
// Choice 2
PowerManager.WakeLock wl = manager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Your Tag");
wl.acquire();
wl.release();
おそらくこの許可も必要になるでしょう:
<uses-permission android:name="android.permission.WAKE_LOCK" />
アップデート:
この方法を試してください。光のレベルが十分に低くなると、Android は画面をオフにします。
WindowManager.LayoutParams params = getWindow().getAttributes();
params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
params.screenBrightness = 0;
getWindow().setAttributes(params);